N个表填充DataSet的问题
这是前些天在项目中遇到的郁闷问题,以下是解决方法,你我共享之;
简单描述:N个表的表名都存放在a表中,当然这N个表的表结构都一样的;
简单描述:N个表的表名都存放在a表中,当然这N个表的表结构都一样的;
1
DataSet 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
DataSet 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,将所有数据添加在一个表中;
1
1 DataTable myDataTable = new DataTable();
2
2 DataColumn myDataColumn;
3
3 DataRow myDataRow;
4
4
5
5 myDataColumn = new DataColumn();
6
6 myDataColumn.DataType = System.Type.GetType("System.Int32");
7
7 myDataColumn.ColumnName = "id";
8
8 myDataTable.Columns.Add(myDataColumn);
9
9
10
10 if(ds.Tables[N].Rows.Count > 0)
11
11 {
12
13 foreach(DataRow dr in ds.Tables[N].Rows)
13
14 {
14
myDataRow = myDataTable.NewRow();
15
15 myDataRow["id"] = dr["id"].ToString();
16
myDataTable.Rows.Add(myDataRow);
17
16 }
18
18 }
19
19 return myDataTable;
20
20
1 DataTable myDataTable = new DataTable();2
2 DataColumn myDataColumn;3
3 DataRow myDataRow;4
4 5
5 myDataColumn = new DataColumn();6
6 myDataColumn.DataType = System.Type.GetType("System.Int32");7
7 myDataColumn.ColumnName = "id";8
8 myDataTable.Columns.Add(myDataColumn);9
9 10
10 if(ds.Tables[N].Rows.Count > 0)11
11 { 12
13 foreach(DataRow dr in ds.Tables[N].Rows)13
14 {14
myDataRow = myDataTable.NewRow();15
15 myDataRow["id"] = dr["id"].ToString();16
myDataTable.Rows.Add(myDataRow);17
16 }18
18 }19
19 return myDataTable;20
20

浙公网安备 33010602011771号