我试图用数据库中的数据填充表单加载中的组合框。
这是我的功能:
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
也包含值。我真的不知道问题出在哪里。请帮助我,我将不胜感激!
答案 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();