我有兩個表即。 tblProduct and Brands,tblProduct包含: ProductId,ProductName,Quantity,Price,Entry_Date。 和品牌包含:ProductId,BrandID,BrandName,BrandDescription,DietType,ProductId(來自tbProduct的FK)。無法將值NULL插入到'ProductId'列'ProductDB.dbo.Brand'列中;
我使用LINQ和想插入這個數據插入按鈕點擊這兩個表,這裏的插入方法:
protected void BtnAdd_Click(object sender, EventArgs e)
{
tblProduct products = new tblProduct();
using (ProductDataContext context = new ProductDataContext())
{
try
{
tblProduct prod = new tblProduct();
{
prod.ProductName = TxtProductName.Text;
prod.Quantity = Int32.Parse(TxtQuantity.Text);
prod.Price = Int32.Parse(TxtPrice.Text);
prod.Entry_Date = DateTime.Parse(TxtDate.Text);
};
context.tblProducts.InsertOnSubmit(prod);
context.SubmitChanges();
Label2.Text = "Product Inserted";
Brand br = new Brand();
{
br.BrandName = TxtBrandName.Text;
br.BrandDescription = TxtBrandDescription.Text;
br.DietType = TxtDietType.Text;
};
prod.Brands.Add(br);
context.Brands.InsertOnSubmit(br);
context.SubmitChanges();
Label1.Text = "Done";
}
catch (Exception exe)
{
Label1.Text = exe.Message;
}
}
}
我想插入兩個表,但是插入命令只能在第一張桌子上(tblProducts),但沒有插入品牌表中的任何東西,我不確定這裏的問題似乎是什麼問題。 請注意BrandID和ProductId(在兩個表上)都設置爲自動增量。
品牌表中的外鍵對產品表有限制嗎?如果是這樣,您需要將已插入產品表的產品ID包含在品牌表 – RH6
@ RH6中,這要感謝您提前回應,是的,ProductId是品牌表中的外鍵,我也已設置自動遞增。你是說我應該包括像prod.ProductId = br.ProductId? –
您需要從先前插入的產品表中檢索主鍵(productID),然後在插入到品牌表中時,外鍵必須與此匹配(假設它們爲1到1)。 編輯:本質我剛剛發佈的答案是 – RH6