发生 SQL 语法错误

本文关键字:错误 语法 SQL 发生 | 更新日期: 2023-09-27 18:23:56

 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 Santax 错误。请帮忙我该如何解决?

发生 SQL 语法错误

更新

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

它应该是这样的;

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

但是请

始终使用参数化查询。这种字符串串联对SQL注入攻击是开放的。

下次,当您遇到这种 sql 语法错误时,您应该尝试的第一件事是在数据库管理器中运行查询。然后,您可以轻松查看查询的问题以及如何解决它。