从列中获取所有行,并使用all从另一个表中选择行

时间:2017-02-20 03:11:54

标签: c# sql-server listbox

我有两张桌子。如何使用下面代码选择的行

var query = "SELECT ID FROM EmpInfo WHERE Status = @Status;

使用获得的行填充带有select查询的listBox。

var query2 = "SELECT Code From DataInfo WHERE ID = @ID;

由于它必须是动态的,我认为我不能使用SQL Reader将其设置为变量。

2 个答案:

答案 0 :(得分:2)

您只能使用一个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;
            }

希望这些帮助。

答案 1 :(得分:-1)

您可以在两个单独的变量中获取行,并根据条件相应地加载或重新加载列表框。 如果行数较少,这可能是一个不错的选择。如果数据集很大,那么根据条件获取数据集新鲜并加载列表框。将大数据集保存在内存中不是一个好的选择。