【发布时间】:2017-09-11 13:52:25
【问题描述】:
我不知道我的问题是否正确......但我想根据列表框中的多选项目将数据显示到 datagridview 中
例如
在这张图片中,我有一个列表框,它从数据库中检索数据,我想显示与用户选择的项目相关的结果
当我选择项目时,查询必须与我选择的项目相关
我的代码
for (int i = 0; i < listBox1.Items.Count; i++)
{
stringComparision += "'" + listBox1.Items[i].ToString() + "',";
}
stringComparision = stringComparision.TrimEnd(',');
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from Territories where TerritoryName IN (" + stringComparision + ") ", conn);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
conn.Close();
但像第一张图片 datagridview 显示没有数据 我为此使用了 SQLServer 2008
哪里错了? ..抱歉英语不好:)
【问题讨论】:
-
您应该使用
IN运算符,这也不起作用,只准备循环内的比较字符串,然后将其提供给命令。 -
您正在为每个项目读取数据库,然后为该项目填充网格。这样,您的网格中永远不会有超过一个项目。此外,您正在对列表中的所有项目执行此操作,而不仅仅是选定的项目。
-
@Berkay 你能给我提供正确的代码吗?
-
@oerkelens 那么这样做的正确方法是什么?
-
dataGridView1.Update() 或刷新