首页 > 数据库 > mysql教程 > 为什么我的 MySQL 查询在 phpMyAdmin 中有效,但在 .NET 中失败,如何修复?

为什么我的 MySQL 查询在 phpMyAdmin 中有效,但在 .NET 中失败,如何修复?

Patricia Arquette
发布: 2024-11-29 01:26:10
原创
178 人浏览过

Why Does My MySQL Query Work in phpMyAdmin but Fail in .NET, and How Can I Fix It?

如何在 .NET MySqlCommand 中利用 MySQL 用户定义的变量

问题

用户在使用成功运行的 MySqlAdapter 在 .NET 中执行查询时遇到困难在 phpMyAdmin 中由于包含@rownum。此系统变量被误认为是参数,并引发异常,因为它未定义。

解决方案

要解决此问题,请按照以下步骤操作:

  1. 更新连接字符串:将“;Allow User Variables=True”添加到连接string.
  2. 处理结果差异:请注意,.NET 中的结果计数可能与 phpMyAdmin 不同。在.NET中,计数从0开始,而phpMyAdmin从1开始。

示例

using (var sqlConnection = new MySqlConnection(SOURCE_CONNECTION + ";Allow User Variables=True"))
{
    sqlConnection.Open();

    MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(SqlStatement, sqlConnection);

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

    return table;
}
登录后复制

其他提示

获取行号的替代方法,考虑以下选项:

  • 添加行ID 列:向数据库表添加一列以存储顺序 ID。
  • 使用临时表:创建一个包含行号列的临时表,并将其连接到您的原始表。
  • 利用辅助方法:编写一个自定义辅助方法,根据行生成行号数据。

以上是为什么我的 MySQL 查询在 phpMyAdmin 中有效,但在 .NET 中失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板