溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#中DataSet有什么作用

發(fā)布時(shí)間:2020-04-26 13:58:45 來源:億速云 閱讀:680 作者:小新 欄目:編程語言

今天小編給大家分享的是C#中DataSet有什么作用,相信很多人都不太了解,為了讓大家更加了解C#中DataSet的作用,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

C#中DataSet的用法

DataSet類是ADO.NET中最核心的成員之一,也是各種開發(fā)基于.Net平臺(tái)程序語言開發(fā)數(shù)據(jù)庫應(yīng)用程序最常接觸的類。每一個(gè)DataSet都有很多個(gè)DataTables和Relationships。RelationShip應(yīng)該也是一種表,特殊的是,這個(gè)表只是用來聯(lián)系兩個(gè)數(shù)據(jù)表的。每一個(gè)DataTable都有很多datarows和datacols, 也包括ParentRelations,ChildRelations 和一些限制條件像主鍵不可以重復(fù)的限制。

DataSet每一行有一個(gè)RowState屬性。主要是反映當(dāng)前行是否已經(jīng)被刪掉了,被更新了,還是本沒變。有如下的幾個(gè)選項(xiàng):   Deleted, Modified, New, and Unchanged。

對(duì)DataSet的任何操作,都是在計(jì)算機(jī)緩存中完成的。

在從數(shù)據(jù)庫完成數(shù)據(jù)抽取后,DataSet就是數(shù)據(jù)的存放地,它是各種數(shù)據(jù)源中的數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中映射成的緩存,所以有時(shí)說DataSet可以看成是一個(gè)數(shù)據(jù)容器。

DataSet對(duì)象是一個(gè)可以用XML形式表示的數(shù)據(jù)視圖,是一種數(shù)據(jù)關(guān)系視圖。

DataSet使用方法一般有三種:

1.把數(shù)據(jù)庫中的數(shù)據(jù)通過DataAdapter對(duì)象填充DataSet

DataAdapter填充DataSet的過程分為二步:首先通過DataAdapter的SqlCommand屬性從數(shù)據(jù)庫中檢索出需要的數(shù)據(jù)。SqlCommand其實(shí)是一個(gè)Command對(duì)象。然后再通過DataAdapter的Fill方法把檢索來的數(shù)據(jù)填充DataSet。

2.通過DataAdapter對(duì)象操作DataSet實(shí)現(xiàn)更新數(shù)據(jù)庫

DataAdapter是通過其Update方法實(shí)現(xiàn)以DataSet中數(shù)據(jù)來更新數(shù)據(jù)庫的。當(dāng)DataSet實(shí)例中包含數(shù)據(jù)發(fā)生更改后,此時(shí)調(diào)用Update方法,DataAdapter 將分析已作出的更改并執(zhí)行相應(yīng)的命令(INSERT、UPDATE 或 DELETE),并以此命令來更新數(shù)據(jù)庫中的數(shù)據(jù)。

3. 把XML數(shù)據(jù)流或文本加載到DataSet

DataSet中的數(shù)據(jù)可以從XML數(shù)據(jù)流或文檔創(chuàng)建。加載XML數(shù)據(jù)流和文檔到DataSet中是可使用DataSet對(duì)象的ReadXml方法。

數(shù)據(jù)綁定分成二類:簡(jiǎn)單型數(shù)據(jù)綁定和復(fù)雜型數(shù)據(jù)綁定。適用于簡(jiǎn)單型數(shù)據(jù)綁定組件一般有Lable、TextBox等,適用于復(fù)雜性數(shù)據(jù)綁定的組件一般有DataGrid、ListBox、ComboBox等。

簡(jiǎn)單型數(shù)據(jù)

綁定一般使用這些組件中的DataBindings屬性的Add方法把DataSet中某一個(gè)DataTable中的某一行和組件的某個(gè)屬性綁定起來,從而達(dá)到顯示數(shù)據(jù)的效果。

比如:textBox1.DataBindings.Add ( "Text" , dsDataSet1, " Customers. CustomerID ") ;

復(fù)雜性數(shù)據(jù)綁定

一般是設(shè)定組件的DataSource屬性和DisplayMember屬性來完成數(shù)據(jù)綁定的。DataSource屬性值一般設(shè)定為要綁定的DataSet,DisplayMember屬性值一般設(shè)定為要綁定的數(shù)據(jù)表或數(shù)據(jù)表中的某一列。

比如:

dataGrid1.DataSource = dsDataSet1 ;
dataGrid1.DataMember = " Customers " ;

DataSet的屬性Tables可以獲取該DATASET中表的數(shù)量:DataSet.Tables.Count

DataSet的Tables是一個(gè)Table數(shù)組,指定其中的一個(gè)表:DataSet.Tables[i];//i為

Table在數(shù)組序列中的位置 或 DataSet.Tables["表名"];

通過Table的Rows對(duì)象組的Count獲取該表的記錄數(shù):DataSet.Tables[i].Rows.Count;

獲取列數(shù):DataSet.Tables[i].Columns.Count;

關(guān)于C#中DataSet有什么作用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI