c# - 从具有行号的表中选择到 c# 数据表会出错

标签 c# mysql select datatable

我使用MySQL 我有一个 mysql 表。
我想选择所有带有行号的记录。
为此,我使用了这个 sql 命令。

SELECT @row := @row + 1 as row, t.* FROM t_persons t, (SELECT @row := 0) r

但是当我尝试运行命令并将数据加载到数据表时,如下所示

DataTable dt = new DataTable();
command.CommandText = sql;
adapter.SelectCommand = command;
adapter.Fill(dt);

它给出了类似命令执行期间遇到 fatal error
的错误。 但是当我在 phpmyadmin 中尝试这个命令时它工作正常。那么问题是什么。以及如何解决。 谢谢...

最佳答案

这实际上是 C# 错误,而不是 MySQL 错误。 C# 看到 @ 并假设您想要使用参数化查询。

添加

;允许用户变量=True

到您的连接字符串将修复它。

在这里找到How can I use a MySql User Defined Variable in a .NET MySqlCommand?

关于c# - 从具有行号的表中选择到 c# 数据表会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799832/

相关文章:

MySQL按2个参数排序

mysql - 我可以自动重命名/替换 2 个或更多表和 View 吗?

php - SQL:从数据库中选择最多一个数字(大小)

c# - 在 wpf 文本框中开始一个新行

c# - 正则表达式使用换行符拆分字符串(除非它在双引号之间)

c# - 如何使用 SQL 在登录和注销之间获取当前用户

c# - Azure Function 与源一起发布

mysql - 在关系数据库中保存属性的良好做法

mysql - 使用单个查询选择和删除

mysql - 从数据库表中获取最后一条和第一条记录的替代方法