1、DataTable的遍歷
//創建數據表 DataTable dt = GetDataTable("select * from Student"); //存儲數據 StringBuilder sb = new StringBuilder(); //循環遍歷<br> //******逐行遍歷*************************************** foreach (DataRow row in dt.Rows)//獲取每一行 { for (int i = 0; i < dt.Columns.Count; i++)//獲取每一行的逐個字段 { sb.AppendFormat("{0}|", row[i]);//字段之間用 |分割 } sb.Append("\r\n");//每一行數據換行 } Console.WriteLine(sb.ToString()); //*******通過轉換為數組遍歷*********************************** foreach (DataRow row in dt.Rows) { // ArrayList list = new ArrayList(row.ItemArray); for (int i = 0; i < row.ItemArray.Length; i++)//轉換為數組 { sb.AppendFormat("{0}|", row.ItemArray[i].ToString());//數組遍歷 } sb.Append("\r\n");//每一行回車換行 }
2、DataReader的遍歷
//獲取數據集 SqlDataReader dr = GetDataReader("select * from Student"); //存儲數據 StringBuilder sb = new StringBuilder(); if (dr.HasRows)//如果有數據 { while (dr.Read()) { for (int i = 0; i < dr.FieldCount; i++) //逐個字段的遍歷 { sb.AppendFormat("{0}|",dr[i]);//字段之間用 |連接 } sb.Append("\r\n");//每一行數據換行 } }
//查詢數據庫返回數據 class SQLhelper { private static string connString = ConfigurationManager.ConnectionStrings["connectStr"].ToString(); //查詢數據庫返回SqlDataReader public static SqlDataReader GetReader(string sql) { SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = new SqlCommand(sql, conn); try { conn.Open(); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) { conn.Close(); throw ex; } } //查詢數據庫返回DataSet public static DataSet GetDataSet(string sql, string tablename) { using (SqlConnection conn = new SqlConnection(connString)) { using (SqlDataAdapter sda = new SqlDataAdapter(sql, conn)) { DataSet ds = new DataSet(); conn.Open(); sda.Fill(ds, tablename); return ds; } } } } //App.config: <configuration> <connectionStrings> <add name="connectStr" connectionString="Data Source=.;Initial Catalog=MyDataBase;Integrated Security=True"/> </connectionStrings> </configuration>
參考:http://www.xuebuyuan.com/445207.html