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语法错误。请帮忙我该如何解决?
答案 0 :(得分:2)
在您更新@IMG
值时,您似乎忘记了列名。
应该是这样的;
query = ... "ColumnName = @IMG" + ...
始终使用parameterized queries。这种字符串连接对SQL Injection攻击开放。
下次,当您收到此类 sql语法错误时,首先应该尝试在数据库管理器中运行查询。然后,您可以轻松查看查询有什么问题以及如何解决它。