C# DataSet查看返回結(jié)果集的實(shí)現(xiàn)
先看一段代碼:
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();//關(guān)閉數(shù)據(jù)庫 return ds; }
以上是連接數(shù)據(jù)庫,查詢數(shù)據(jù)庫并返回結(jié)果集。
主要看DataSet ds 返回值,怎么去獲取返回的數(shù)據(jù),ds.Tables.Count值為返回的表的數(shù)量。
如果查詢sql語句中只有一個(gè)select,則返回一個(gè)table:
如果有10個(gè)select就會(huì)返回10個(gè)table:
ds.Tables[0].Rows.Count的值為第一個(gè)表數(shù)據(jù)的條數(shù)。(下面有23條數(shù)據(jù))
ds.Tables[0].Rows[0].ItemArray[0]為第一個(gè)表,第一條數(shù)據(jù)的第一個(gè)值。
看到這里就應(yīng)該知道怎么取返回結(jié)果集的數(shù)了,但是要注意一點(diǎn),如果返回的某條數(shù)據(jù)本身就沒有,
比如:查詢的結(jié)果ds.Tables[0].Rows.Count=0
,也就是說第一個(gè)表的數(shù)據(jù)條數(shù)為0,取值的時(shí)候程序?qū)?code>ds.Tables[0].Rows[0]就會(huì)報(bào)錯(cuò),和數(shù)組越界是同樣的(一個(gè)動(dòng)態(tài)數(shù)組沒分配空間就去訪問就會(huì)報(bào)“訪問越界”),所以這里面的數(shù)組應(yīng)該都是動(dòng)態(tài)數(shù)組。
因此,在取值前先判斷一下ds.Tables.Count以及ds.Tables[0].Rows.Count等等的Count的大小,大于0再取值
。一般都會(huì)使用for和while循環(huán)的取值,里面本來就帶了判斷條件,但在單個(gè)取值的時(shí)候一定要小心。
到此這篇關(guān)于C# DataSet查看返回結(jié)果集的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C# DataSet返回結(jié)果集內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- c# 調(diào)用Win32Api關(guān)閉當(dāng)前應(yīng)用的方法
- c#使用win32api實(shí)現(xiàn)獲取光標(biāo)位置
- C# 執(zhí)行CMD命令并接收返回結(jié)果的操作方式
- C#異步方法返回void與Task的區(qū)別詳解
- C# ODP.NET 調(diào)用Oracle函數(shù)返回值時(shí)報(bào)錯(cuò)的一個(gè)解決方案
- C# WebApi 接口返回值不困惑:返回值類型詳解
- C#微信開發(fā)之接收 / 返回文本消息
- webBrowser執(zhí)行js的方法,并返回值,c#后臺(tái)取值的實(shí)現(xiàn)
- c#基于Win32Api實(shí)現(xiàn)返回Windows桌面功能
相關(guān)文章
C#使用stackalloc分配堆棧內(nèi)存和非托管類型詳解
這篇文章主要為大家介紹了C#使用stackalloc分配堆棧內(nèi)存和非托管類型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2022-12-12C#連接mysql數(shù)據(jù)庫完整實(shí)例
這篇文章主要介紹了C#連接mysql數(shù)據(jù)庫的方法,以一個(gè)完整實(shí)例形式分析了C#操作mysql數(shù)據(jù)庫連接的基本技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05C#下實(shí)現(xiàn)創(chuàng)建和刪除目錄的實(shí)例代碼
這篇文章主要介紹了C#下實(shí)現(xiàn)創(chuàng)建和刪除目錄的方法,功能非常實(shí)用,需要的朋友可以參考下2014-08-08C# textBox如何實(shí)時(shí)更新到最新行
這篇文章主要介紹了C# textBox如何實(shí)時(shí)更新到最新行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04C#實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08C#?winform實(shí)現(xiàn)多語言切換功能
這篇文章主要為大家詳細(xì)介紹了如何使用C#?winform實(shí)現(xiàn)多語言切換功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下2024-02-02