N个表填充DataSet的问题

这是前些天在项目中遇到的郁闷问题,以下是解决方法,你我共享之;
   
简单描述:N个表的表名都存放在a表中,当然这N个表的表结构都一样的; 

 

 1DataSet ds = new DataSet();
 2   using(SqlConnection mySqlConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]))
 3   {
 4    mySqlConnection.Open();  
 5    SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter("",mySqlConnection);
 6    for(int i=0;i< N;i++)
 7    {
 8
 9     string sqlstr = @"select *
10         from "+ Table[N] +@" ";
11
12     mySqlDataAdapter.SelectCommand.CommandText = sqlstr;
13     mySqlDataAdapter.Fill(ds,Table[N]);
14    }

15   }

16
17

   
 然后,你可以构造一个DataTable,将所有数据添加在一个表中;
 

 11   DataTable  myDataTable = new DataTable();
 22   DataColumn myDataColumn;
 33   DataRow myDataRow;
 44     
 55   myDataColumn = new DataColumn();
 66   myDataColumn.DataType = System.Type.GetType("System.Int32");
 77   myDataColumn.ColumnName = "id";
 88   myDataTable.Columns.Add(myDataColumn);
 99   
1010   if(ds.Tables[N].Rows.Count > 0)
1111   {  
1213    foreach(DataRow dr in ds.Tables[N].Rows)
1314    {
14       myDataRow = myDataTable.NewRow();
1515     myDataRow["id"= dr["id"].ToString();
16       myDataTable.Rows.Add(myDataRow);
1716    }

1818   }

1919   return myDataTable;
2020

posted on 2006-03-22 16:00  an_andy  阅读(520)  评论(1)    收藏  举报

导航