如何在数据库中添加组合框的内容

本文关键字:组合 添加 数据库 | 更新日期: 2023-09-27 18:06:09

我想将组合框的内容添加到我的数据库中,但它不起作用。我的组合框的内容来自与表"Products"连接的表"Categories"。我已经尝试了很多东西,我有转换错误:

下面是我的代码:

Product p = new Product();
p.ProductName = txtNom.Text.Trim();
p.ProductDescription = txtDesc.Text.Trim();
p.ProductQuantityUsed = Convert.ToInt32(numQteUsed.Value);
p.ProductQuantityNew = Convert.ToInt32(numQteNew.Value);
p.CategoryID = cboCat.SelectedText.ToString();
db.Products.Add(p);
db.SaveChanges(); 
//Combobox
public void FillCbCategories()
{
    SamsonEntities db = new SamsonEntities();
    cboCat.Items.Clear();
    var listCat = (from cats in db.Categories                           
       select new CategoryDisplay()
       {
          CategoryID = cats.CategoryID,
          CategoryName = cats.CategoryName
       }).ToList();
    for(var i=0;i<listCat.Count;i++)
    {
       cboCat.Items.Add(listCat[i]);
    }
} 

如何在数据库中添加组合框的内容

从你的评论来看,你的组合框没有正确地绑定到你发送给它的数据。

你可以尝试设置ValueMember和DisplayMember:

cboCat.ValueMember = "CategoryID";
cboCat.DisplayMember = "CategoryName";

,像这样:

public void FillCbCategories()
{
    SamsonEntities db = new SamsonEntities();
    cboCat.Items.Clear();
    var listCat = (from cats in db.Categories                           
       select new CategoryDisplay()
       {
          CategoryID = cats.CategoryID,
          CategoryName = cats.CategoryName
       }).ToList();
    for(var i=0;i<listCat.Count;i++)
    {
       cboCat.Items.Add(listCat[i]);
    }
    cboCat.ValueMember = "CategoryID";
    cboCat.DisplayMember = "CategoryName";
}