comboBox错误'该值不能为null。参数名称:项目“

时间:2018-08-06 03:17:02

标签: c# .net winforms

我试图用数据库中的数据填充表单加载中的组合框。

这是我的功能:

public void FillCombo()
{
    //remplir code article
    var b = (from l in db.tbl_article
             where l.designiation == designiation.Text
             select l.code_article).SingleOrDefault();

    code_article.Text = b.ToString();

    // remplir combobox article
    var r = from db in db.tbl_article select db.designiation;

    foreach (var i in r)
    {
        designiation.Items.Add(i);
    }

    //remplir combobox service
    var s = from db in db.tbl_service select db.libelle;

    foreach (var i in s)
    {
        service.Items.Add(i);
    }

    //remplir combobox fournisseur
    var fou = from db in db.tbl_fournisseur select db.nom_fournisseur;

    foreach (var i in fou)
    {
        comboBox1.Items.Add(i);       
    }   
}

每当我运行我的代码时,它都会在此行停止:

 var fou = from db in db.tbl_fournisseur select db.nom_fournisseur;
    foreach (var i in fou)
    { comboBox1.Items.Add(i); }

,它返回此错误:

  

该值不能为null。参数名称:item

我检查了名称和所有内容。我的表tbl_fournisseur也包含值。我真的不知道问题出在哪里。请帮助我,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

只需编写查询以选择要添加的项目,然后在从数据库中读取值时将其添加到组合框中。

SqlConnection conn = new SqlConnection("Data Source=;Initial Catalog=;Persist Security Info=True;User ID=;Password=");
conn.Open();
String q = "Select * from table"';
SqlCommand command = new SqlCommand(q, conn);
SqlDataReader r = command.ExecuteReader();
while(r.read())
{ 
    comboBox1.Items.Add(r["index"].toString());    
}

conn.Close();