如何在c#中将多个DataTable存储到单个DataSet中?

时间:2011-10-03 05:23:53

标签: c# c#-4.0 datatable dataset

我的代码下面有多个带有结果的DataTables,我需要传递一个包含所有DataTable值的DataSet。

MySqlCommand cmd = new MySqlCommand(getLikeInfo, con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

MySqlCommand cmd1 = new MySqlCommand(getKnowInfo, con);
MySqlDataAdapter da1 = new MySqlDataAdapter(cmd1);
DataTable dt1 = new DataTable();
da1.Fill(dt1);

MySqlCommand cmd2 = new MySqlCommand(getHotelInfo, con);
MySqlDataAdapter da2 = new MySqlDataAdapter(cmd2);
DataTable dt2 = new DataTable();
da2.Fill(dt2);

MySqlCommand cmd3 = new MySqlCommand(getRoomInfo, con);
MySqlDataAdapter da3 = new MySqlDataAdapter(cmd3);
DataTable dt3 = new DataTable();
da3.Fill(dt3);

MySqlCommand cmd4 = new MySqlCommand(getFoodInfo, con);
MySqlDataAdapter da4 = new MySqlDataAdapter(cmd4);
DataTable dt4 = new DataTable();
da4.Fill(dt4);

我该怎么做?

1 个答案:

答案 0 :(得分:9)

DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.Tables.Add(dt1);
...

如果您希望在DataSet中命名的表,可以从DataSet

创建表
DataSet ds = new DataSet();
DataTable t1 = ds.Tables.Add("t1");  // Create
DataTable t1Again = ds.Tables["t1"]; // fetch by name

如果使用第一种方法,也可以设置表的TableName属性。