gpt4 book ai didi

c# - 为什么在 C# .Net Core 3 中连接到 MySql 时出现错误

转载 作者:行者123 更新时间:2023-12-02 02:34:51 24 4
gpt4 key购买 nike

我刚刚从 MySql.Data.MySqlClient .Net Core 类库版本 8.0.21 更新到 8.0.22,它似乎导致我的一些 SQL 查询出现错误。我没有收到以下错误:

"Non-negative number required. (Parameter 'count')"

当我尝试运行以下代码时:

DataTable dt = new DataTable();
try {
using (MySqlConnection con = new MySqlConnection(ConnectionString)) {
using (MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM shortcuts WHERE user = @id", con)) {
da.SelectCommand.Parameters.AddWithValue("@id", userId);
da.Fill(dt);
}
}
} catch (Exception ex) {
Console.WriteLine(ex.Message);
dt = null;
}

我看不到错误所提示的内容,并且我尝试从中检索数据的“快捷方式”表中只有 8 条记录。由于我没有更改任何代码,并且在更新 NuGet 包之前它就可以工作,因此我假设这是最新版本的问题。然而,我确实尝试降级回我所使用的版本,但没有成功。

我不知道这是否是报告错误或获取信息的正确位置,但我将不胜感激。以下是我尝试过的一些事情:

  • 降级回版本 8.0.21
  • 重新启动 MySql 服务(我目前使用的是 XAMPP 和我的本地计算机)
  • 添加“da.SelectCommand.Parameters.Clear();”在代码顶部,以确保没有先前查询中的参数被卡住,因为它适用于其他查询,但不适用于此查询。

感谢您提供的任何帮助

最佳答案

您是否正在查询一个具有包含 NULLCHAR(36) 列(即 GUID)的表?如果是这样,您将遇到 bug 101252 ,MySql.Data 8.0.22 中引入的回归(直到 8.0.24 才会修复,可能是在 2021 年 4 月下旬)。

您可以回滚到 8.0.21,但我个人建议切换到 MySqlConnector (免责声明:我是主要贡献者)因为它与 .NET Core 和 fixes many bugs 具有更好的兼容性存在于 MySql.Data 中。

关于c# - 为什么在 C# .Net Core 3 中连接到 MySql 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64473659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com