C# 从列中获取所有行,并使用all从另一个表中选择行
我有两张桌子。如何使用以下代码所选的行C# 从列中获取所有行,并使用all从另一个表中选择行,c#,sql-server,listbox,C#,Sql Server,Listbox,我有两张桌子。如何使用以下代码所选的行 var query = "SELECT ID FROM EmpInfo WHERE Status = @Status; 使用获取的行用select查询填充列表框 var query2 = "SELECT Code From DataInfo WHERE ID = @ID; 由于它必须是动态的,我认为我不能使用SQL Reader将其设置为变量。您可以只使用一条SQL语句,例如 string sqlqry="SELECT Code FROM DataIn
var query = "SELECT ID FROM EmpInfo WHERE Status = @Status;
使用获取的行用select查询填充列表框
var query2 = "SELECT Code From DataInfo WHERE ID = @ID;
由于它必须是动态的,我认为我不能使用SQL Reader将其设置为变量。您可以只使用一条SQL语句,例如
string sqlqry="SELECT Code FROM DataInfo WHERE ID IN (SELECT ID FROM DataInfo WHERE Status=@Status)";
然后按如下方式填写列表框:
using (SqlDataAdapter myadapter = new SqlDataAdapter(sqlqry, connection))
{
// fill a data table
var t = new DataTable();
myadapter.Fill(t);
// Bind the table to the list box
listBox1.DisplayMember = "NameOfColumnToBeDisplayed";
listBox1.ValueMember = "NameOfColumnToUseValueFrom";
listBox1.DataSource = t;
}
希望这些帮助。您可以在两个单独的变量中获取行,并根据条件相应地加载或重新加载列表框。
如果行数较少,这可能是一个很好的选择。如果数据集很大,则根据条件重新获取数据集并加载列表框。在内存中保存大数据集不是一个好的选择。是否考虑加入这些表?使用SQLJOINS@un-幸运的是,虽然连接可以正常工作,但我认为在子查询中使用
效果更好。非常感谢!!正是我需要的!这是如何解决使用一个查询在另一个查询中定义条件的问题的?很抱歉,我理解错了,我以为您希望根据特定条件在列表框中动态加载这两个结果。@stevethegrk的答案是好的。