C# 与外键约束冲突“;FK_tableName";。冲突发生在数据库“中”;“数据库名称”;,表「;tableName";,列';id';
我试图用表单中的数据填充“tbl_detail_command”表。但当我想在数据库中插入数据时,会出现以下错误:C# 与外键约束冲突“;FK_tableName";。冲突发生在数据库“中”;“数据库名称”;,表「;tableName";,列';id';,c#,.net,winforms,C#,.net,Winforms,我试图用表单中的数据填充“tbl_detail_command”表。但当我想在数据库中插入数据时,会出现以下错误: conflicted with the FOREIGN KEY constraint FK_tbl_detail_commande_tbl_detail_demande_achat". The conflict occurred in database "Gestion Commercial Officielle", table"dbo.tbl_detail_demande_
conflicted with the FOREIGN KEY constraint FK_tbl_detail_commande_tbl_detail_demande_achat".
The conflict occurred in database "Gestion Commercial Officielle",
table"dbo.tbl_detail_demande_achat", column 'id'.The statement has been terminated.'
我尝试了一些解决方案:
1-检查我的外键关系
2-在表“tbl\U细节命令”上启用标识插入
但我还是犯了同样的错误
这是我的桌子:
还有我用来将数据插入数据库的代码:
我不知道是什么问题,我只是一直在兜圈子。谁能帮我一下,或者告诉我我一直在做什么错事 错误消息表示您正在将记录插入表
tbl\u detail\u achat
,但是id
值不存在于其他表tbl\u detail\u命令中。检查id
的值和表中的现有记录tbl\u detail\u command
。您还可以使用SSMS(SQL Server Management Studio)检查表的详细信息。@Subbu该值已存在于表中,因此我没有任何问题。我还尝试使用SSMS在tbl\u detail\u demande\u achat
中插入数据,结果成功了。但是,当我使用LINQtoSQL插入它时,它没有。我验证了代码,它一直工作到db.SubmitChanges()
然后它给出了错误。如果它使用sql查询工作,我真的不知道错误来自何处。我删除了所有的图表表,我使用sql查询创建外键,一切工作都很顺利。我不明白为什么它不能在designer中创建外键:/。。。无论如何,非常感谢您的时间和帮助,先生!我很感激。
String numero_demande = demande.Text;
tbl_detail_commande dc = new tbl_detail_commande();
var id = (from c in db.tbl_detail_commande orderby c.id_detail_commande descending
select c.id_detail_commande).FirstOrDefault();
int valueId = Convert.ToInt32(id.ToString()) + 1;
dc.id_detail_commande = valueId;
var q = (from cc in db.tbl_detail_demande_achat where cc.id_demande == Convert.ToInt32(numero_demande)
select cc.id).Distinct().SingleOrDefault();
dc.id_detail_demande = Convert.ToInt32(q);
dc.code_article = Convert.ToInt32(code_article.Text);
dc.id_commande= Convert.ToInt32(num_commande.Text);
db.tbl_detail_commande.InsertOnSubmit(dc);
db.SubmitChanges();