C# 尝试使用文本框和按钮从datagridview更新数据时出错

C# 尝试使用文本框和按钮从datagridview更新数据时出错,c#,sql,datagridview,textbox,C#,Sql,Datagridview,Textbox,我正在尝试使用几个文本框从datagridview和我的数据库进行更新。当我尝试更新ID_vozila和datum_nakupa时,它可以工作,但当我尝试更新ID_prodaje、ID_prodajalna和ID_kupec时,它会给我错误 错误显示: System.Data.dll中发生类型为“System.Data.SqlClient.SqlException”的未处理异常 其他信息:UPDATE语句与外键约束“FK_u_Prodaja__ID_kupc__1920BF5C”冲突。冲突发生在

我正在尝试使用几个文本框从datagridview和我的数据库进行更新。当我尝试更新ID_vozila和datum_nakupa时,它可以工作,但当我尝试更新ID_prodaje、ID_prodajalna和ID_kupec时,它会给我错误

错误显示:

System.Data.dll中发生类型为“System.Data.SqlClient.SqlException”的未处理异常

其他信息:UPDATE语句与外键约束“FK_u_Prodaja__ID_kupc__1920BF5C”冲突。冲突发生在数据库“C:\USERS\UPORABNIK\DOCUMENTS\VISUAL STUDIO 2013\PROJECTS\NALOGA\NALOGA\BIN\DEBUG\PRODAJA.MDF”,表“dbo.Kupec”,列“ID\u kupca”中

这是按下按钮时运行的代码

int selectedIndex = prodajaDataGridView.SelectedRows[0].Index;

            int rowID = int.Parse(prodajaDataGridView[0, selectedIndex].Value.ToString());

            string query = "Update Prodaja set ID_prodajalca = @Prodajalec, ID_prodajalne = @Prodajalna, ID_kupca = @Kupec, ID_vozila = @Vozilo, Datum_nakupa = @DatumNakupa where ID_prodaje="+rowID;

            using (connection = new SqlConnection(connectionString))
            using (SqlCommand command = new SqlCommand(query, connection))
            {

                connection.Open();
                command.Parameters.AddWithValue("@Prodajalec", iD_prodajalcaTextBox.Text);
                command.Parameters.AddWithValue("@Prodajalna", iD_prodajalneTextBox.Text);
                command.Parameters.AddWithValue("@Kupec", iD_kupcaTextBox.Text);
                command.Parameters.AddWithValue("@Vozilo", iD_vozilaTextBox.Text);
                command.Parameters.AddWithValue("@DatumNakupa", datum_nakupaDateTimePicker.Value.ToString("yyyy.MM.dd").Replace(" ", ""));
                command.ExecuteNonQuery();



            }
数据库中有另一个id设置了identity,所有id也设置了identity


任何帮助都将不胜感激

问题出在关系数据库方面
您需要检查您的密钥和外键您无法更改外键不在主表中

ID\u kupca参考表“dbo.Kupec”。表中不存在您试图传递的值。您能检查一下Kupec表中的值吗?如果这样的值不存在,并且您尝试更新,那么您将得到这个错误。问题是它在表中。目前,我的ID是1到3,如果我试图更新其中任何一个,就会出现这个错误。我只使用了表Whatch这个表“dbo.Kupec”中的外键,列'ID_kupca'确保键不在那里kupec中有3行,它们都有'ID_kupca',但这些ID在程序中不起作用。错误来自您的数据库我建议您使用断点并将字符串发送到数据库并在数据库中调试。您将看到错误的确切原因