gpt4 book ai didi

c# - 始终不一致的 MySQL 查询结果 - 返回 0 行与 n 行

转载 作者:行者123 更新时间:2023-11-29 03:16:39 25 4
gpt4 key购买 nike

我有两个表,联赛和球队,我正在尝试获取联赛处于特定状态的球队 ID 列表。

SELECT t.TeamID 
FROM teams t
INNER JOIN leagues l ON t.LeagueID = l.LeagueID
WHERE t.Computer = 1 AND l.BiddingOpen = 1 AND t.Deleted = 0;

检索它的代码是:

List<int> result = new List<int>();
using (MySqlConnection connection = new MySqlConnection(DAL.GetConnectionString()))
{
if (DAL.OpenConnection(connection))
{
MySqlDataReader rsData = new MySqlCommand(sql, connection).ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if (rsData.HasRows)
{
while (rsData.Read())
{
result.Add(rsData.GetInt32(rsData.GetOrdinal("TeamID")));
}
}
rsData.Close();
}
}

当我在 phpMyAdmin 中运行 SQL 语句时,我得到了 22 行的预期结果。当我在 调试器 中运行代码时,有或没有断点,在 DEBUGRELEASE 配置中,我得到了预期的结果 22。当我在另一台机器 上运行可执行文件时,我的日志显示我返回了 0 行。

到目前为止,我已经在两个表上尝试了 CHECK TABLE,在两个表上都尝试了 OPTIMIZE TABLE,并将我的 MySQL.Data.dll 升级到版本 8.0.13.0(从 6.0.5.0)。关于为什么我会从 .EXE 中获得 0 行但其他方式获得正确的行数,有什么突出的地方吗?

最佳答案

我怀疑我使用的主机更新了他们的 MySQL 版本,而我没有跟上。由于这没有产生异常,所以我也没有立即注意到它。最终,此行为可能是版本冲突和/或货币问题。

它现在工作正常。我做了什么:

  • 我将项目的目标框架更新为 .NET 4.5.2
  • 我确保打包了 MySQL.Data.dll 版本 8.0.13.0。
  • 我部署并测试了。

一切都按预期进行,从更正上面提到的始终不一致的查询到确认其他一切已经正常工作。

关于c# - 始终不一致的 MySQL 查询结果 - 返回 0 行与 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55056719/

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