數據庫的查詢分析器中寫上如下代碼:
1
2
3
4
5
6
7
8
9
10
11
12
|
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 通過。
---------------------------------------------------------------------------------------------------
以下是第一種方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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; /***************************************************************/ |
以下是第二種方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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 (); } |
以下是第三種方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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 的三種方式遍歷讀取各個字段數值的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.cnblogs.com/simple-article/p/9576423.html