在这段代码中,我有一个insert按钮,它将接收来自textbox的用户输入,并将其存储在数据库中。我知道代码与其他没有Foreign的表的工作原理一样,但是这个表可以,我不知道如何处理它。每次尝试插入外键CustomerID时,我都会得到以下错误: System.Data.SqlClient.SqlException:‘insert语句与外键约束"FK_Orders_Customers“冲突。冲突发生在数据库"northwind”、表"dbo.Customers“、列'CustomerID’中。
下面是插入按钮代码和程序运行的图像。
private void button9_Click(object sender, EventArgs e)
{
Order od = new Order
{
OrderID = int.Parse(ordertxt.Text),
CustomerID = customertxt.Text
};
db.Orders.InsertOnSubmit(od);
try
{
db.SubmitChanges();
}
catch (Exception)
{
MessageBox.Show("Invalid", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
db.SubmitChanges();
}
display_order();
发布于 2022-05-06 01:46:58
要插入到CustomerID列中的值在Customer表中不存在,因此不能作为外键插入。您可以在插入之前根据Customer表添加验证值的逻辑,并在需要时创建一个新的customer,或者更改该列,使其不再是外键(如果您不需要它作为外键)。
https://stackoverflow.com/questions/72134996
复制相似问题