如何将多个数据表添加到现有数据集

问题描述:

亲爱的朋友们,



我有以下代码,我在创建基于对Oracle mdb的查询的数据集。

Dear Friends,

I have below code, where in I am creating a dataset based on a query to Oracle mdb.

....
      OracleDataAdapter adapter = new OracleDataAdapter(sqlstr, conn);
       OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
       DataSet dataset = new DataSet();
       adapter.Fill(dataset);

       DataTable dataTable = dataset.Tables[0];
....



我想在循环中使用突出显示的代码,然后将数据集对象添加到循环外的公共数据表中。 br $> b $ b

如何实现?



谢谢


I would like to have the highlighted code in a loop, and then add the dataset objects to a common datatable outside the loop.

How can this be implemented?

Thanks

你可以通过下面的方法简单地将数据表添加到数据集中



well you can simply add the datatables to dataset by usign below method

ds.tables.add(dt);



如果要在数据集中添加多个数据表,请添加一些for循环。


add some for loop if you want to add multiple datatables to your dataset.


DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        ds.Merge(dt);


确定将数据表添加到数据集中,首先需要在循环外声明数据集。否则你每次循环都会创建你的日期集,所以你总是只有一个值。

所以代码看起来像



Ok to add datatables to a dataset you first need to declare you dataset outside your loop. Otherwise you are creating your dateset everytime you loop so you are always only gonna have one value.
So code would look like

DataSet dsCompleteDataSet = new DataSet();

//Loop
for(int i = 0; i < counter; i++)
{
  OracleDataAdapter adapter = new OracleDataAdapter(sqlstr, conn);
       OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
       DataSet dataset = new DataSet();
       adapter.Fill(dataset);
      dsCompleteDataSet.Tables.Add(dataset.Tables[0]);
}





希望有所帮助。



Hope that helps.