我的代码出现以下错误:
An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: The UPDATE statement conflicted with the FOREIGN KEY constraint
"FK_TutorID". The conflict occurred in database "NPTC", table "dbo.Tutor", column 'TutorID'.
这是我的代码:
// Instantiate a SqlConnection object with the COnnection String read.
SqlConnection conn = new SqlConnection(strConn.ToString());
// Instantiate a sqlcommand object, provide a update sql statement to add
// class to tutor record specified by a classID
SqlCommand cmd = new SqlCommand("
UPDATE TuitionClass
SET TutorID = @tutorID
FROM TuitionClass
INNER JOIN Tutor ON TuitionClass.tutorID = Tutor.tutorID
AND TuitionClassID = @selectedTuitionClassID", conn);
// Define the parameter used in SQL statement, value for the parameter is retrieved
// from class's property
cmd.Parameters.AddWithValue("@tutorID", TutorID);
cmd.Parameters.AddWithValue("@selectedTuitionClassID", tuitionClassID);
// open a Database connection
conn.Open();
// Execute the SQL statement
int count = cmd.ExecuteNonQuery();
// Close database connection
我不确定哪里出了问题,因为我认为我的代码是正确的?
最佳答案
您在此处传递了无效的参数:
cmd.Parameters.AddWithValue("@tutorID", TutorID);
TutorID
与数据库中的Tutor
不匹配。
关于C# SQL Server 数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31790832/