gpt4 book ai didi

c# - 如何使用 MySqlDataReader 返回多个表?

转载 作者:可可西里 更新时间:2023-11-01 07:36:05 25 4
gpt4 key购买 nike

我想使用 mySqlDataReader 返回两个表并将结果加载到两个数据表中。

 using (MySqlConnection connMySql = new MySqlConnection(global.g_connString))
{
MySqlCommand cmd = connMySql.CreateCommand();
cmd.CommandText = @"
SELECT * FROM table1;
SELECT * FROM table2;
";
connMySql.Open();
using (MySqlDataReader dr = cmd.ExecuteReader())
{
DataTable dt1 = new DataTable();
dt1.Load(dr);
dr.NextResult();
DataTable dt2 = new DataTable();
dt2.Load(dr);

gridView1.DataSource = dt1;
gridView1.DataBind();
gridView2.DataSource = dt2;
gridView2.DataBind();
}

但是,当我运行它时,只有一个 gridView 被填充。我能以这种方式使用 NextResult 吗?还是有更好的方法来实现它?

提前致谢

最佳答案

不要在两次 Load 调用之间调用 dr.NextResult()。读者已经前进到下一个结果集。

来自 MSDN:Load 方法使用加载的 IDataReader 中的第一个结果集,并在成功完成后将读取器的位置设置为下一个结果集(如果有)。

史蒂文

[编辑]

检查 dr.NextResult() 的结果还可以更轻松地检测代码中到底发生了什么。

关于c# - 如何使用 MySqlDataReader 返回多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4417684/

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