數據庫的查詢分析器中寫上如下代碼:
create table studentname( id int primary key identity(1,1) not null ,name nvarchar(500) not null)insert into studentname values('long')insert into studentname values('long')insert into studentname values('long')insert into studentname values('long')insert into studentname values('long')insert into studentname values('chao')insert into studentname values('chao')
--sql server 2012 通過。
---------------------------------------------------------------------------------------------------
以下是第一種方法:
using System.Data; using System.Data.SqlClient;string constr = "server=localhost;uid=sa;pwd=longshicheng;database=Student"; SqlConnection conn = new SqlConnection(constr); SqlCommand cmd = new SqlCommand("select * from studentname", conn); conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(); string makestr = ""; DataTable table = new DataTable(); table.Load(rdr); //數據表裝入 dataReader 。 string result=""; for (int i = 0; i < table.Rows.Count; i++) // 遍歷行 { for (int j = 0; j < table.Columns.Count; j++) //遍歷列 { result += table.Rows[i][j].ToString(); //逐行逐列顯示每個單元格的數值。 } result += Environment.NewLine; //一行遍歷完成就寫入回車。 } txtlab.Text = result; /***************************************************************/
以下是第二種方法:
string constr = "server=localhost;uid=sa;pwd=longshicheng;database=Student"; SqlConnection conn = new SqlConnection(constr); SqlCommand cmd = new SqlCommand("select * from studentname", conn); conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(); string makestr = ""; for (int k = 0; k < rdr.FieldCount; k++) //獲取字段名稱 { makestr += rdr.GetName(k) + "/t"; //載入字段名稱 } makestr += Environment.NewLine; //換行 makestr = makestr + "---------------------------------------------"+Environment.NewLine; while (rdr.Read()) //逐行讀取每一筆記錄 { for (int t = 0; t < rdr.FieldCount; t++) //逐列讀出 { makestr = makestr + rdr[t].ToString() + "/t"; //累加每一行,也就是逐個字段讀出對應的數值 } makestr = makestr + Environment.NewLine; //又一行 } txtinfo.Text = makestr; rdr.Close(); //關閉 conn.Close(); }
以下是第三種方法:
string constr = "server=localhost;uid=sa;pwd=longshicheng;database=Student"; SqlConnection conn = new SqlConnection(constr); SqlCommand cmd = new SqlCommand("select * from studentname", conn); conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(); string makestr = ""; for (int k = 0; k < rdr.FieldCount; k++) //獲取字段名稱 { makestr += rdr.GetName(k) + "/t"; //載入字段名稱 } makestr += Environment.NewLine; //換行 makestr = makestr + "---------------------------------------------" + Environment.NewLine; while (rdr.Read()) //逐行讀取每一筆記錄 { makestr = makestr + rdr.GetValue(0) + " /t" + rdr.GetValue(1).ToString() + "/t"; makestr = makestr + Environment.NewLine; } txtother.Text = makestr; rdr.Close(); //關閉 conn.Close();
以上所有方法運行結果均如下:
id name
---------------------------------------------
1 long
2 long
3 long
4 long
5 long
6 chao
7 chao
總結
以上所述是小編給大家介紹的C#中sqlDataRead 的三種方式遍歷讀取各個字段數值的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答