发生sql语法错误?

时间:2014-09-23 06:49:20

标签: c# mysql c#-4.0 mysql-workbench

 string query = "update library_database.members set name='" + txtname.Text + "', Adresss='" + richtxtadress.Text + "',";
 query = query + "Status='" + cmbstatus.SelectedText + "',Type='" + cmbtype.SelectedText + "',";
 query = query + "Date_expiry='" + dateofexpiry.Value.ToString("yyyy-MM-dd") + "',@IMG";
 query=query+"' where id='";
 query = query + txtid.Text + "'";
 cmd = new MySqlCommand(query, con);
 cmd.Parameters.Add(new MySqlParameter("@IMG", imgbt));

异常在@IMG附近的第1行发生SQL语法错误。请帮忙我该如何解决?

1 个答案:

答案 0 :(得分:2)

在您更新@IMG值时,您似乎忘记了列名。

应该是这样的;

query = ... "ColumnName = @IMG" + ...

但请

始终使用parameterized queries。这种字符串连接对SQL Injection攻击开放。

下次,当您收到此类 sql语法错误时,首先应该尝试在数据库管理器中运行查询。然后,您可以轻松查看查询有什么问题以及如何解决它。