是否可以在.NET MySqlCommand中使用MySql用户定义变量?

Nat*_*mer 15 .net c# mysql

我正在尝试执行当前在phpMyAdmin中运行的查询,但是在使用MySqlAdapter在.NET中执行它时它不起作用.这是Sql语句.

SELECT @rownum := @rownum +1 rownum, t . *
FROM (
  SELECT @rownum :=0
) r, (
  SELECT DISTINCT
    TYPE FROM `node`
  WHERE TYPE NOT IN ('ad', 'chatroom')
)t     
Run Code Online (Sandbox Code Playgroud)

它使用@rownum对从内部标量查询返回的每个不同行进行编号.但是如果我在.NET中使用它,它假设@rownum是一个参数并抛出异常,因为我没有定义它.

using (var sqlConnection = new MySqlConnection(SOURCE_CONNECTION))
{
    sqlConnection.Open();

    MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(SqlStatement, sqlConnection);

    DataTable table = new DataTable();
    sqlAdapter.Fill(table);
    sqlConnection.Close();

    return table;
}
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?或者我可以通过哪种方式获得行号?

ber*_*d_k 38

我发现这个博客告诉我们,你必须添加更新版本的.net Connector

;Allow User Variables=True
Run Code Online (Sandbox Code Playgroud)

到连接字符串.比较我的问题如何在.NET MySqlCommand中使用MySql用户定义变量?