C# SQL Server 数据库错误

标签 c# sql sql-server database

我的代码出现以下错误:

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/

相关文章:

c# - 抑制来自特定 DLL 的跟踪消息

c# - 使用 Linq 从树中获取具有特定属性的所有对象

SQL Server - 按行号分组 - 间隙和孤岛

sql-server - SQLServer 在单个语句中编写 union

sql-server - 如何在 MS SQL Server 2008 中隐藏消息窗口?

c# - PDFsharp:有没有办法在页面标题中生成 "Page X of Y"?

c# - Gmail API 读取邮件

sql - DB2中的错误(CARDINALITY)

mysql - 基于条件的SQL查询

MySQL查询根据表B进行的逻辑测试更新表A