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

标签 c# .net 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     

它使用@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;
}

关于如何解决这个问题有什么想法吗?或者我获取行号的可能方法?

最佳答案

我找到了 blog ,这说明,对于较新版本的 .net 连接器,您必须添加

;Allow User Variables=True

到连接字符串。 比较我的 SO 问题 How can I use a MySql User Defined Variable in a .NET MySqlCommand?

关于c# - 是否可以在 .NET MySqlCommand 中使用 MySql 用户定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/958953/

相关文章:

c# - .NET 字典 : get or create new

php - 表格中未显示图片

mysql - 根据字段值更改mysql表连接

c# - 如何动态使用 Resources.resx 即动态添加新项目

c# - 如何通过页面加载 asp.net 判断表单复选框是否被选中

c# - 将 Char 附加到数组中的每个元素

MySql 基于非空列的内连接

c# - 绑定(bind)按钮功能

python - Rhino.Python 和 .NET 框架

c# - 每次在 property getter 中返回新的 ICommand 不好吗?