我想更新book和名为R_Kital_Al
的用户之间的关系表
但是我得到了这个错误;
System.Data.SqlClient.SqlException(0x80131904):无法插入 具有唯一索引的对象'dbo.R_Kitap_Al'中的重复键行 'IX_Kitap_Al'。重复键值为(15)。
如何解决此错误?
private void Update_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=HP\SQLEXPRESS;Initial Catalog=Kütüphane;Integrated Security=True");
conn.Open();
SqlCommand cmd = new SqlCommand("UPDATE R_Kitap_Al SET SSN=@SSN,Book_No=@Book_No,BaslamaTarihi=@BaslamaTarihi,BitisTarihi=@BitisTarihi", conn);
DateTime dt = new DateTime();
cmd.Parameters.AddWithValue("@SSN",dataGridView1.CurrentRow.Cells[0].Value);
cmd.Parameters.AddWithValue("@Book_No",book_NoTextBox.Text);
cmd.Parameters.AddWithValue("@BaslamaTarihi",baslamaTarihiDateTimePicker.Value);
dt = Convert.ToDateTime(baslamaTarihiDateTimePicker.Value);
dt = dt.AddDays(0);
bitisTarihiDateTimePicker.Value = dt.AddDays(15);
cmd.Parameters.AddWithValue("@BitisTarihi", bitisTarihiDateTimePicker.Value);
cmd.ExecuteNonQuery();
this.Hide();
R_Kitap_Al kit = new R_Kitap_Al();
kit.ShowDialog();
this.Close();
}
答案 0 :(得分:0)
没有where子句,因此您使用指定的值更新该表中的每一行。其中一列是主键还是外键?
答案 1 :(得分:0)
我们无法在唯一的唯一键中插入重复值。
因此,在您的表 ' SSN' 或 ' Book_No '列可能是唯一的。 请检查 ' SSN' 列中的 ' 15' 或的 ' Book_No' 强>
请从提及列中删除唯一键,或尝试使用不同的值而不是15来更新。