使用c#修改数据库数据
本文关键字:数据 数据库 修改 使用 | 更新日期: 2023-09-27 18:06:40
嗨,伙计们,我正试图修改我的数据库中的一块数据,这里是我使用的代码部分。
private void btnModifyMember_Click(object sender, EventArgs e)
{
string memberid = txtMemberID.Text;
string lastname = txtLastName.Text;
string firstname = txtFirstName.Text;
string phone = txtPhoneNumber.Text;
string email = txtEmail.Text;
string update = "UPDATE [Club_Member] SET [MemberID]=@memberid,[LastName]=@lastname,[FirstName]=@firstname,[Phone]=@phone,[E_mail]=@email";
OleDbCommand dbCmd = new OleDbCommand(update, dbConn);
dbCmd.Parameters.AddWithValue("@MemberID", memberid);
dbCmd.Parameters.AddWithValue("@LastName", lastname);
dbCmd.Parameters.AddWithValue("@FirstName", firstname);
dbCmd.Parameters.AddWithValue("@Phone", phone);
dbCmd.Parameters.AddWithValue("@E_mail", email);
try
{
dbCmd.ExecuteNonQuery();
MessageBox.Show("Update Complete");
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
return;
}
}
所以我运行调试,我改变一个条目,我点击修改成员按钮,然后我得到一个消息框说"记录不能被删除或更改,因为表'属性'包含相关记录"调试仍然去,我没有得到任何错误。
谢谢。
您试图执行违反相关表的引用完整性规则的操作。例如,如果您试图删除或更改一对多关系中"one"表中的记录,而"many"表中存在相关记录,则会发生此错误。
如果要删除或更改记录,请首先从"many"表中删除相关记录。在您的例子中,您必须尝试更新外键列,它引用了其他表的记录。
从您的代码中,可以很容易地假设表club_members中的列MemberID
必须是一个外键,引用Member
表的行。这就是你搞砸的地方。您不能通过简单地删除/更新您想要的记录来违反引用完整性。