当我试图填充一个comboBox时,我得到了这个非常令人沮丧的错误。
System.ArgumentException:复杂DataBinding接受IList或IListSource作为数据源
这是导致这种情况的代码片段。
main.cmd.Connection = main.con;
main.cmd.CommandText = "SELECT num_innovation FROM Innovation INNER JOIN Activite ON Innovation.num_activite = Activite.num_activite WHERE Activite.num_activite = " + comboBox_activite.SelectedValue;
main.con.Open();
System.Data.SqlClient.SqlDataReader sdReader = main.cmd.ExecuteReader();
comboBox_innovation.DisplayMember = "num_innovation";
comboBox_innovation.ValueMember = "num_innovation";
comboBox_innovation.DataSource = sdReader; //Error here
sdReader.Close();
main.con.Close();发布于 2017-12-18 22:35:45
错误消息说您需要将您的sdReader转换为列表。关于如何将数据读取器转换为列表,请参见下面的内容:?
顺便说一下,您还应该参数化查询,以防止SQL注入攻击。
尝试使用ORM框架,如EntityFramework或Nhibernate。它可能需要一些时间来学习和开始,但会使你的生活更容易从长远来看。例如易绑定,查询中的lambda
https://stackoverflow.com/questions/47876190
复制相似问题