gpt4 book ai didi

c# - 查询语法错误但查询正确

转载 作者:行者123 更新时间:2023-11-29 01:49:36 24 4
gpt4 key购买 nike

我写了一个通用的方法来搜索特定表中是否存在某个值,该方法非常简单:

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());
}

假设我想检查表匹配中是否存在 ID 为 2538782 的记录,我会这样做:

CheckRecordExist(2538782, "match", "id");

所以 query 变量将是:

SELECT * FROM match WHERE id = @id

如果我在 PhpMyAdmin 中运行它,用值替换 id,我会得到正确的响应,但在我的应用程序中我会得到:

MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'match WHERE id = 2538782' at line 1'

怎么了?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com