我正在尝试执行当前在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用户定义变量?