Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与外键约束冲突“;FK_tableName";。冲突发生在数据库“中”;“数据库名称”;,表「;tableName";,列';id';_C#_.net_Winforms - Fatal编程技术网

C# 与外键约束冲突“;FK_tableName";。冲突发生在数据库“中”;“数据库名称”;,表「;tableName";,列';id';

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_

我试图用表单中的数据填充“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_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();