c# - MySQL SELECT 查询仅返回一行
问题描述
我正在尝试针对我的数据库查询多行,但我只得到一个。我正在使用 MySQL 8.0 服务器。
//My async method that should return all entries that
//match given query
private async Task<List<List<string>>> QueryDb_ManyEntriesAsync(string queryString)
{
MySqlCommand command = new MySqlCommand(queryString, _connection);
DbDataReader data = await command.ExecuteReaderAsync();
var content = new List<List<string>>();
while (true)
{
var tmp = new List<string>();
for (int i = 0; i < data.FieldCount; i++)
{
await data.ReadAsync();
tmp.Add(data[i].ToString());
}
content.Add(tmp);
if (!await data.NextResultAsync())
break;
}
await command.DisposeAsync();
await data.DisposeAsync();
return content;
}
查询是:
SELECT *
FROM Transactions
WHERE user_id=1;
当我从 MySQL Workbench 运行查询时,这就是我的表的样子: https ://i.imgur.com/C3qev2A.png
但是当我使用我的 C# 方法时,我只得到最后一行。即await data.NextResultAsync()
在第一次 for 循环迭代后返回 false。
解决方案
推荐阅读
- godot - 太多节点会减慢我的 Android Godot 游戏速度
- javascript - javascript在更改宽度设备时更改文本
- javascript - 如何使用 Vuelidate 检查文件类型?
- java - 使用比较器对成对的整数 ArrayList 进行排序时出错
- python - 插值散点图
- javascript - 无法从简单的 html-form 将附加的 FormData 发送到 php-file
- android - 在Android Kotlin中,将onclick事件传递给viewholder的正确方法是什么?
- c# - 打开 ASP.Net MVC 解决方案时无法激活远程语言服务器
- ios - 在 iOS 应用程序中的 WKWebView 和 Alamofire API 调用下管理单独的 cookie 和会话
- reactjs - Ag-Grid - 如何使列宽适合自定义 HeaderComponent 和自定义 HeaderGroupComponent 中的内容?