gpt4 book ai didi

c# - 如何用多个表填充数据集?

转载 作者:IT王子 更新时间:2023-10-29 04:45:46 24 4
gpt4 key购买 nike

我正在尝试填充包含 2 个具有一对多关系的表的数据集。我正在使用 DataReader 来实现这一点:

    public DataSet SelectOne(int id)
{
DataSet result = new DataSet();
using (DbCommand command = Connection.CreateCommand())
{
command.CommandText = "select * from table1";

var param = ParametersBuilder.CreateByKey(command, "ID", id, null);
command.Parameters.Add(param);

Connection.Open();
using (DbDataReader reader = command.ExecuteReader())
{
result.MainTable.Load(reader);
}
Connection.Close();
}
return result;
}

但是我只有一张 table 被填满了。我如何实现我的目标 - 填写两个表格?

如果可能的话,我想使用 DataReader 而不是 DataAdapter。

最佳答案

用多个表填充数据集可以通过向数据库发送多个请求来完成,或者以更快的方式:可以在单个请求中将多个 SELECT 语句发送到数据库服务器。这里的问题是查询生成的表具有自动名称 Table 和 Table1。但是,生成的表名称可以映射到应该在数据集中使用的名称。

SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT * FROM Customers; SELECT * FROM Orders", connection);
adapter.TableMappings.Add("Table", "Customer");
adapter.TableMappings.Add("Table1", "Order");

adapter.Fill(ds);

关于c# - 如何用多个表填充数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11345761/

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