您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關使用C# DataSet實現查看返回結果集,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
先看一段代碼:
private DataSet GetDataSet(string strsql) { string strcon = "server = 192.168.2.1,1433;uid = sa ; pwd = 123456 ; database = MyDB"; SqlConnection con = new SqlConnection(strcon); DataSet ds = new DataSet(); try { SqlDataAdapter DA = new SqlDataAdapter(strsql, con); DA.Fill(ds, "tb"); } catch (SqlException E) { throw new Exception(E.Message); } con.Close();//關閉數據庫 return ds; }
以上是連接數據庫,查詢數據庫并返回結果集。
主要看DataSet ds 返回值,怎么去獲取返回的數據,ds.Tables.Count值為返回的表的數量。
如果查詢sql語句中只有一個select,則返回一個table:
如果有10個select就會返回10個table:
ds.Tables[0].Rows.Count的值為第一個表數據的條數。(下面有23條數據)
ds.Tables[0].Rows[0].ItemArray[0]為第一個表,第一條數據的第一個值。
看到這里就應該知道怎么取返回結果集的數了,但是要注意一點,如果返回的某條數據本身就沒有,
比如:查詢的結果ds.Tables[0].Rows.Count=0
,也就是說第一個表的數據條數為0,取值的時候程序寫ds.Tables[0].Rows[0]
就會報錯,和數組越界是同樣的(一個動態數組沒分配空間就去訪問就會報“訪問越界”),所以這里面的數組應該都是動態數組。
因此,在取值前先判斷一下ds.Tables.Count以及ds.Tables[0].Rows.Count等等的Count的大小,大于0再取值
。一般都會使用for和while循環的取值,里面本來就帶了判斷條件,但在單個取值的時候一定要小心。
看完上述內容,你們對使用C# DataSet實現查看返回結果集有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。