因此,我尝试使用以下语法为每个结果生成一个行号,其中:
@row在查询运行时创建,并且@search是我自己添加的参数:
var cmd = new MySqlCommand();
cmd.CommandText = @"SET @row = 0;
SELECT
(@row:= @row + 1) AS row,
*
FROM
clients
WHERE
name CONCAT('%', @search, '%')";
cmd.Parameters.AddWithValue("@search", "whatever");
try
{
cmd.Connection.Open();
using (var reader = cmd.ExecuteReader())
{
// blah blah
}
}
catch (Exception ex)
{
cmd.Connection.Close();
}
如果我直接在数据库中运行 MySQL,则此查询工作正常,但我从 c# 收到错误:
Parameter @row must be defined
..如果我使用一个MySqlCommand对象。
有没有办法解决这个问题?
谢谢