当前位置: 首页 > 面试题库 >

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

丁宏盛
2023-03-14
问题内容

我正在尝试执行一个当前在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;
}

关于如何解决这个问题的任何想法?还是我获取行号的可能方法?


问题答案:

我发现此博客告诉您,使用较新版本的.net Connector,您必须添加

;Allow User Variables=True

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



 类似资料:
  • 我想用Ansible复制大文件。目标服务器有一个具有足够存储空间的专用分区。我注意到ansible使用由remote_tmp变量定义的临时目录。 谢谢你的回答。

  • 问题内容: 是否可以在SQL中的另一个用户定义表类型(嵌套的用户定义表类型)中使用用户定义的表类型。 我有高级发送表中的行的数据表。 请帮助如何将表行中的表数据从 asp.net发送到sql 。通过循环还是有任何简单的方法将嵌套表数据发送到服务器。 问题答案: 不,为什么会这样?这不是SQL Server(或任何关系数据库)的工作方式。 从TechNet的“用户定义的表类型”页面上: 限制 用户定

  • 目前,不允许在接口中使用get/set方法(访问器)。例如: 此外,TypeScript 不允许在类方法中使用数组函数表达式:例如: 有没有其他方法可以在接口定义上使用getter和setter?

  • 问题内容: 我只想执行以下Mysql语句 与MySql.Data.MySqlClient 我收到一个致命错误。 当我用任一替换$ sql时 要么 我得到了预期的结果。 我找到了这个问题,但是并不能解决我的问题。 我正在尝试将SQLIse(SQLPSX项目的一部分)移植到MySQL版本MySQLIse。 我想处理任何简单的有效mysql语句。 编辑: 我正在尝试运行sakila- schema.sq

  • 我想清除大部分别名定义的PowerShell会话,除了cd、sort、mkdir等常见别名 完成会话后,我希望恢复所有以前已知的别名。 无需卸载模块或注销CmdLets。我只想为我的会话清除别名命名空间。 我可以在如下列表中指定允许的别名: 如何保存和恢复别名? 或 如何启动一个干净的PoSh并只加载基本别名? 以下几行来自我的示例模块。 用法示例: 不幸的是,dir Alias:在调用我的脚本后

  • 问题内容: 是否可以在Gradle中声明一个可在Java中使用的变量?基本上,我想在build.gradle中声明一些var,然后在构建时(显然)获取它。就像C / C ++中的预处理器宏一样… 一个声明的例子就是这样: 有没有办法做这样的事情? 问题答案: 生成Java常量 你可以使用 产生Android资源 你可以使用或以通常的方式访问它们