C# 当我单击“更新”按钮时,会显示语法错误消息SQL。

C# 当我单击“更新”按钮时,会显示语法错误消息SQL。,c#,mysql,C#,Mysql,这是我的更新代码,运行后看看它会告诉我什么。在图像中。 当我单击“更新”按钮时会出现此问题,我检查了所有可能的错误,但无法修复它。尝试以下解决方案。它使用参数化查询来解决您的问题 con.Open(); var query = "UPDATE courseware_inventory SET title=@title, content=@content, pages=@pages, remarks=@remarks WHERE serialnumber=@serialnumber"; var

这是我的更新代码,运行后看看它会告诉我什么。在图像中。
当我单击“更新”按钮时会出现此问题,我检查了所有可能的错误,但无法修复它。

尝试以下解决方案。它使用参数化查询来解决您的问题

con.Open();
var query = "UPDATE courseware_inventory SET title=@title, content=@content, pages=@pages, remarks=@remarks WHERE serialnumber=@serialnumber";

var cmd = new MySqlCommand(query, con);

cmd.Parameters.Add("@serialnumber", txtSN.Text);
cmd.Parameters.Add("@title", txtcour.Text);
cmd.Parameters.Add("@content", txtCon.Text);
cmd.Parameters.Add("@pages", txtTP.Text);
cmd.Parameters.Add("@remarks", cbRemarks.Text);
cmd.ExecuteNonQuery();

在我看来,发布代码而不是发布imageError是因为在文本框中输入的值中有单引号,这与运行时的SQL语法相冲突。最好的解决方案是用户参数化查询。请共享您的代码。如果您在WHERE子句中使用相同的值,为什么还需要更新序列号?cmd.ExecuteNonQuery和cmd.ExectueReader()将运行同一查询两次。你有什么理由想这么做吗?实际上我是个初学者,我收集了指南代码和示例,无法回答你的问题Chetan,太棒了,我害怕尝试这个,但是。现在我不是:),非常感谢。