我写了一个通用方法来搜索特定表中是否存在值,该方法真的很简单:
public bool CheckRecordExist(int id, string tableName, string column)
{
string connection = string.Format("Server=localhost; database={0}; UID=root; password=root; SslMode=none; CharSet=utf8;", "myDb");
MySqlConnection conn = new MySqlConnection(connection);
string query = "SELECT * FROM " + tableName + " WHERE " + column " = @" + column;
MySqlCommand = new MySqlCommand(query, conn);
MySqlCommand.Parameters.AddWithValue("@" + column, id);
return Convert.ToBoolean(MySqlCommand.ExecuteScalar());
}
假设我要检查表中是否2538782存在ID为ID的记录匹配,我这样做:
CheckRecordExist(2538782, "match", "id");
因此query变量将是:
SELECT * FROM match WHERE id = @id
如果在中运行PhpMyAdmin,将其替换为id值,我将获得正确的响应,但是在我的应用程序中,我将得到:
MySql.Data.MySqlClient.MySqlException:'您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ match WHERE id = 2538782”附近使用
怎么了?
相关分类