C#中我在一个dataset中放入了多个dataTable,现在要取出每个dataTable中的详细值。如何取值?求解。

如题所述

第1个回答  2012-03-19
根据索引 index 或者名称 tableName
var ds = new System.Data.DataSet();
ds.Tables.AddRange(new System.Data.DataTable[] {
new System.Data.DataTable(), // index:=0
new System.Data.DataTable("table1"), // index:=1, name:=table1
new System.Data.DataTable("table2", "myns1"), // index:=2, name:=table2, namespace:=myns1
new System.Data.DataTable("table2", "myns2") // index:=3, name:=table2, namespace:=myns2
});
// 访问时
ds.Tables[0].Columns.Add("ID", typeof(int));
ds.Tables[1].Columns.Add("ID", typeof(int));
// ds.Tables["table1"].Columns.Add("ID", typeof(int)); 和上一句效果相同
// 根据 namespace 访问,namespace 不同时,允许表名重复
ds.Tables["table2", "myns1"].Columns.Add("ID", typeof(int));
ds.Tables["table2", "myns2"].Columns.Add("ID", typeof(int));追问

如果我声名的DataSet studs = new DataSet();里已经放了很多个DataTable了,用for循环或是foreach如何得到每一个DataTable呢?

追答

foreach(var table in studs.Tables) { table ... }
for (int i = 0; i < studs.Tables.Count; i++) { var table = studs.Tables[i]; table... }

第2个回答  2012-03-19
保存到数据集的时候。你要在数据集中的表写好名称。如果不多。就tables[0],,1,2,等。

要多。那肯定最好写表名。、

然后你要用到数据集。绑定数据源的时候。不就写相应的数据集表名就行了。这样就可以操作其数据。
第3个回答  2012-03-19
ds.Tables[0]
ds.Tables[1]
ds.Tables[2]
....本回答被网友采纳
第4个回答  2012-03-19
根据索引 index 或者名称 tableName
第5个回答  2012-03-19
ds.Tables[0] 1 2 3 4 5 .......
相似回答