C#中的Dataset就像一个数据库,有多个表(Table),一般只有一个表,然后每个表中有行(DataRow)和列(DataColumn),DataRow[DataColumn]可以得到某行某列数据。
| 代码如下 | 复制代码 | 
| //多表多行多列的情况 foreach (DataTable dt in YourDataset.Tables) //遍历所有的datatable{
 foreach (DataRow dr in dt.Rows) ///遍历所有的行
 foreach (DataColumn dc in dt.Columns) //遍历所有的列
 Console.WriteLine(“{0}, {1}, {2}”, dt.TableName,
 dc.ColumnName, dr[dc]); //表名,列名,单元格数据}
 //遍历一个表多行多列 foreach(DataRow mDr in dataSet.Tables[0].Rows ) {
 foreach(DataColumn mDc in dataSet.Tables[0].Columns)
 {
 Console.WriteLine(mDr[mDc].ToString());
 }
 }
 | 
遍历DataSet中的元素
贴一个不错的网上的代码
| 代码如下 | 复制代码 | 
| DataSet2 ds = new DataSet2();SqlDataAdapter da1 = new SqlDataAdapter(str, conn);
 da1.Fill(ds, "table");
 //已经装载到DataSet数据集中了   for (int k = 0; k < ds.Tables["table"].Rows.Count; k++){
 for (int j = 0; j < ds.Tables["table"].Columns.Count; j++)
 {
 if (ds.Tables["table"].Rows[k]["emergency"].ToString().Trim() == "1")
 {
 ds.Tables["table"].Rows[k]["emergency"] = "合格";
 }
 else if (ds.Tables["table"].Rows[k]["emergency"].ToString().Trim() == "0")
 {
 //emergency = "处置";
 ds.Tables["table"].Rows[k]["emergency"] = "处置";
 }
 }
 }
 ds.AcceptChanges();
 |