C# 如何将多个数据集添加到单个数据表中?
我有下面的代码,其中我正在基于对Oracle mdb的查询创建一个数据集 我希望将突出显示的代码放在循环中,然后将dataset对象添加到循环外的公共datatable中 我需要使用datatable.Merge()吗?“n”数据集中的结果集需要合并到单个数据表中,因此我不确定合并是否正确 如何实现这一点C# 如何将多个数据集添加到单个数据表中?,c#,datatable,dataset,C#,Datatable,Dataset,我有下面的代码,其中我正在基于对Oracle mdb的查询创建一个数据集 我希望将突出显示的代码放在循环中,然后将dataset对象添加到循环外的公共datatable中 我需要使用datatable.Merge()吗?“n”数据集中的结果集需要合并到单个数据表中,因此我不确定合并是否正确 如何实现这一点 谢谢假设您正在为Oracle mdb的每个查询创建一个新的“sqlstr”?如果是这样的话,您可以创建一个列表,将所有sqlstr放入其中,然后使用for循环循环,如下所示: List&l
谢谢假设您正在为Oracle mdb的每个查询创建一个新的“sqlstr”?如果是这样的话,您可以创建一个列表,将所有sqlstr放入其中,然后使用for循环循环,如下所示:
List<string> sqlstrings = new List<string>();
//add your sqlstr's here
DataSet dataset = new DataSet();
for(int i = 0; i < sqlstrings.count; i++)
{
OracleDataAdapter adapter = new OracleDataAdapter(sqlstrings[i].ToString(), conn);
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
adapter.Fill(dataset.Tables[i]);
}
注意:这是未经测试的代码。它只是给你一个想法和一些可以玩的东西 DataSet是DataTable对象的容器,而不是反过来。DataAdapters可以填充DataTable对象,看起来您实际上并不需要dataset
List<string> sqlstrings = new List<string>();
//add your sqlstr's here
DataSet dataset = new DataSet();
for(int i = 0; i < sqlstrings.count; i++)
{
OracleDataAdapter adapter = new OracleDataAdapter(sqlstrings[i].ToString(), conn);
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
adapter.Fill(dataset.Tables[i]);
}
if(i > 0)
{
dtBigTable.Merge(dataset.Tables[i]);
}
else
{
//First table
dtBigTables = dataset.Tables[0]
}