Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从组合框填充列表视图_C#_Listview_Combobox - Fatal编程技术网

C# 从组合框填充列表视图

C# 从组合框填充列表视图,c#,listview,combobox,C#,Listview,Combobox,我的代码遇到了一些问题,没有从找到的资源中得到任何结果,因此下面是我从组合框中选择一个值时的示例,事件SelectionChangeCommitted被触发,应该用日期填充我的listview控件,该日期来自与我的select相关的数据库,但我遇到了一个错误,我不知道如何处理它,如果有人能帮助我,我将不胜感激 在构造函数中,我有以下代码: this.medic.SelectionChangeCommitted += new EventHandler(medic_SelectionChangeCo

我的代码遇到了一些问题,没有从找到的资源中得到任何结果,因此下面是我从组合框中选择一个值时的示例,事件
SelectionChangeCommitted
被触发,应该用日期填充我的listview控件,该日期来自与我的select相关的数据库,但我遇到了一个错误,我不知道如何处理它,如果有人能帮助我,我将不胜感激

在构造函数中,我有以下代码:

this.medic.SelectionChangeCommitted += new EventHandler(medic_SelectionChangeCommitted);

private void medic_SelectionChangeCommitted(object sender, EventArgs e)
{
    SqlDataAdapter alegsectie = new SqlDataAdapter("SELECT C.denumire,OC.Data,OC.ora_inc,OC.ora_sf FROM cabinete AS C INNER JOIN orar_clinica AS OC ON c.id_cabinet = OC.id_cabinet INNER JOIN medici AS M ON OC.id_medic = M.id_medic and M.nume =" + medic.SelectedValue, conn);

    DataSet listView1 = new DataSet();
    alegsectie.Fill(listView1);
错误:

“System.Data.SqlClient.SqlException”类型的未处理异常 发生在System.Data.dll中

其他信息:转换varchar时转换失败 数据类型int的值“pop”


“pop”是组合框中的selectedvalue

如果M.nume是varchar类型,则需要将该值用单引号括起来,才能使sql语句有效:

SqlDataAdapter alegsectie = new SqlDataAdapter("SELECT C.denumire,OC.Data,OC.ora_inc,OC.ora_sf FROM cabinete AS C INNER JOIN orar_clinica AS OC ON c.id_cabinet = OC.id_cabinet INNER JOIN medici AS M ON OC.id_medic = M.id_medic and M.nume ='" + medic.SelectedValue + "'", conn);
但是请注意,这种运行查询的方法容易受到攻击。也许可以考虑使用来运行查询


希望这有帮助

M.nume列的类型是什么?并使用参数化查询而不是字符串连接。这将使您的查询为SQL注入攻击打开。M.nume是一个varchar(30),我在SQL server中检查了该查询并将其正确无误。是的,它是一个winform,根据我在组合框中的选择,应该从数据库填充我的listview。WinForms中的listview控件不是绑定控件。将数据存储在名为
listView1
的数据集中不会起任何作用。您必须手动添加项和子项这是关于sql注入漏洞的一个很好的观点。。。再加1!