管理和使用數(shù)據(jù)庫數(shù)據(jù)-ppt課件_第1頁
管理和使用數(shù)據(jù)庫數(shù)據(jù)-ppt課件_第2頁
管理和使用數(shù)據(jù)庫數(shù)據(jù)-ppt課件_第3頁
管理和使用數(shù)據(jù)庫數(shù)據(jù)-ppt課件_第4頁
管理和使用數(shù)據(jù)庫數(shù)據(jù)-ppt課件_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1南京理工大學(xué)計算機學(xué)院第第7 7章章 管理和運用數(shù)據(jù)庫數(shù)據(jù)管理和運用數(shù)據(jù)庫數(shù)據(jù)第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息2南京理工大學(xué)計算機學(xué)院 7.1 管理數(shù)據(jù)的幾種常見類管理數(shù)據(jù)的幾種常見類第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息3南京理工大學(xué)計算機學(xué)院Dataset類類Dataset是是ADO.NET構(gòu)造的主要組件,它是從數(shù)據(jù)庫中構(gòu)造的主要組件,它是從數(shù)據(jù)庫中檢索到的數(shù)據(jù)在內(nèi)存中的緩存。檢索到的數(shù)據(jù)在內(nèi)存中的緩存。 Dataset由一組由一組DataTable對象組成,可使這些對象與對象組成,可使這些對象與DataRelation對對象相互關(guān)聯(lián);還可經(jīng)過運用象相互關(guān)聯(lián);還可經(jīng)過運用U

2、niqueConstraint和和ForeignKeyConstraint對象在對象在Dataset中實施數(shù)據(jù)完好中實施數(shù)據(jù)完好性。性。Dataset將數(shù)據(jù)和架構(gòu)作為將數(shù)據(jù)和架構(gòu)作為XML文檔方式進展讀寫。數(shù)文檔方式進展讀寫。數(shù)據(jù)和架構(gòu)可經(jīng)過據(jù)和架構(gòu)可經(jīng)過HTTP傳輸,并在啟用傳輸,并在啟用XML的任何平臺的任何平臺上被任何運用程序運用??蛇\用上被任何運用程序運用??蛇\用WriteXm1Schema方方法將該架構(gòu)保管為法將該架構(gòu)保管為XML架構(gòu),并且可以運用架構(gòu),并且可以運用WriteXml方法保管架構(gòu)和數(shù)據(jù)。假設(shè)要讀取既包含架構(gòu)又包含數(shù)方法保管架構(gòu)和數(shù)據(jù)。假設(shè)要讀取既包含架構(gòu)又包含數(shù)據(jù)的據(jù)的

3、XML文檔,請運用文檔,請運用ReadXml方法。方法。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息4南京理工大學(xué)計算機學(xué)院創(chuàng)建和刷新創(chuàng)建和刷新Dataset并依次更新原始數(shù)據(jù)步驟并依次更新原始數(shù)據(jù)步驟 運用運用SqlDataAdapter或或OleDbDataAdapter,用數(shù),用數(shù)據(jù)源中的數(shù)據(jù)構(gòu)造和填充據(jù)源中的數(shù)據(jù)構(gòu)造和填充Dataset中的每個中的每個DataTable。 經(jīng)過添加、更新或刪除經(jīng)過添加、更新或刪除DataRow對象,更改單個對象,更改單個DataTable對象中的數(shù)據(jù)。對象中的數(shù)據(jù)。 調(diào)用調(diào)用GetChanges方法,以創(chuàng)建只反映對數(shù)據(jù)進展方法,以創(chuàng)建只反映對數(shù)據(jù)進展的更

4、改的第二個的更改的第二個Dataset。 調(diào)用調(diào)用SqlDataAdapter或或OleDbDataAdapter的的Update方法,并將第二個方法,并將第二個Dataset作為參數(shù)傳送。作為參數(shù)傳送。 調(diào)用調(diào)用Merge方法將第二個方法將第二個Dataset中的更改合并到第中的更改合并到第一個中。一個中。 針對針對Dataset調(diào)用調(diào)用AcceptChanges。或者,調(diào)用?;蛘?,調(diào)用RejectChanges以取消更改。以取消更改。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息5南京理工大學(xué)計算機學(xué)院DataTable類類DataTable是是ADO.NET庫中的中心對象。其他運用庫中的中心

5、對象。其他運用DataTable的對象包括的對象包括Dataset和和DataView。假設(shè)正在以編程方式創(chuàng)建假設(shè)正在以編程方式創(chuàng)建DataTable,那么必需先經(jīng)過將,那么必需先經(jīng)過將DataColumn對象添加到對象添加到 DataColumnCollection經(jīng)過經(jīng)過Columns屬性訪問中來定義其架構(gòu)。屬性訪問中來定義其架構(gòu)。假設(shè)要向假設(shè)要向DataTable中添加行,必需先運用中添加行,必需先運用NewRow方法前方法前往新的往新的DataRow對象。對象。NewRow方法前往具有方法前往具有DataTahle的架構(gòu)的行,的架構(gòu)的行,DataTable可存儲的最大行數(shù)是可存儲的最大

6、行數(shù)是16 , 777 , 216。DataTable包含可用于確保數(shù)據(jù)完好性的包含可用于確保數(shù)據(jù)完好性的Constraint對象的對象的集合。集合。假設(shè)要確定何時對表進展更改,請運用以下某個事件:假設(shè)要確定何時對表進展更改,請運用以下某個事件:RowChanged,RowChanging,RowDeleting和和RowDeleted。當(dāng)創(chuàng)建。當(dāng)創(chuàng)建DataTable的實例時,某些讀的實例時,某些讀/寫屬性寫屬性將被設(shè)置為初始值。將被設(shè)置為初始值。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息6南京理工大學(xué)計算機學(xué)院DataRow類類DataRow和和DataColumn對象是對象是DataTa

7、ble的主要組件。運的主要組件。運用用DataRow對象及其屬性和方法檢索、評價、插入、刪除和對象及其屬性和方法檢索、評價、插入、刪除和更新更新DataTable中的值。中的值。DataRowCollection表示表示DataTable中的實踐中的實踐DataRow對象,對象,DataColumnCollection中包含用于描畫中包含用于描畫DataTable的架構(gòu)的架構(gòu)的的DataColumn對象??蛇\用重載的對象。可運用重載的Item屬性前往或設(shè)置屬性前往或設(shè)置DataColumn的值。的值。運用運用HasVersion和和IsNull屬性確定特定行值的形狀,運用屬性確定特定行值的形狀

8、,運用RowState屬性確定行相對于它的父級屬性確定行相對于它的父級DataTable的形狀。的形狀。假設(shè)要創(chuàng)建新的假設(shè)要創(chuàng)建新的DataRow,請運用,請運用DataTable對象的對象的NewRow方法。創(chuàng)建新的方法。創(chuàng)建新的DataRow之后,請運用之后,請運用Add方法方法將新的將新的DataRow添加到添加到DataRowCollection中。最后,調(diào)中。最后,調(diào)用用DataTable對象的對象的AcceptChanges方法以確認能否已添加。方法以確認能否已添加。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息7南京理工大學(xué)計算機學(xué)院DataRow類類可經(jīng)過調(diào)用可經(jīng)過調(diào)用DataRo

9、wCollcction的的Remove方法或方法或調(diào)用調(diào)用DataRow對象的對象的Delete方法,從方法,從DataRowCollection中刪除中刪除DataRow。Remove句句將行從集合中移除。與此相反,將行從集合中移除。與此相反,Delete標志要移除標志要移除的的DataRow。在調(diào)用。在調(diào)用AcceptChanges方法時發(fā)生方法時發(fā)生實踐移除。經(jīng)過調(diào)用實踐移除。經(jīng)過調(diào)用Delete,可在實踐刪除行之前,可在實踐刪除行之前以編程方式檢查哪些行被標志為移除。以編程方式檢查哪些行被標志為移除。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息8南京理工大學(xué)計算機學(xué)院DataRow類類p

10、rivate void CreateNewDataRow( ) / 運用運用MakeTable函數(shù)在下面創(chuàng)建一個新表函數(shù)在下面創(chuàng)建一個新表 DataTable myTable ; myTable = MakeNamesTable ( ) ; / 運用運用NewRow創(chuàng)建一個新創(chuàng)建一個新DataRow DataRow myRow ; myRow = myTable.NewRow ( ) ; / 將新記錄行參與數(shù)據(jù)集中將新記錄行參與數(shù)據(jù)集中 myRow fName = John ; myRow lName = Smith ; myTable.Rows.Add (myRow) ; foreach (

11、 DataColumn dc in myTable.Colmns ) Console.WriteLine ( dc.ColumnName ) ; dataGrid1.DataSource = myTable ;第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息9南京理工大學(xué)計算機學(xué)院DataRow類類private DataTable MakeNamesTable ( ) / 創(chuàng)建一個命名為創(chuàng)建一個命名為“Names的新的新DataTable DataTable namesTable = new DataTable ( Names ) ; / 向表里添加三個列對象向表里添加三個列對象 DataColu

12、mn idColumn = new DataColumn( ) ; idColumn.DataType = System.Type.GetType ( System.Int32 ) ; idColumn.ColumnName = id ; idColumn.AutoIncrement = true ; namesTable.Columns.Add ( idColumn ) ; DataCo1umn fNameColumn = new DataColumn ( ) ; fNameColumn.DataType = system.Type.GetType ( System.String ) ; f

13、NameColumn.ColumnName = Fname ; fNameColumn.DefaultValue = Fname ; namesTable.Columns.Add ( fNameColumn ) ; DataColumn lNameColumn = new DataColumn ( ) ; lNameColumn.DataType = System.Type.GetType ( System.String ) ; lNameColumn.ColumnName = LName ; namesTable.Columns.Add ( lNameColumn ) ; / 為為DataC

14、olumn對象創(chuàng)建一個數(shù)組對象創(chuàng)建一個數(shù)組 DataColumn keys = new DataColumn 1 ; keys 0 = idColumn ; namesTable.PrimaryKey = keys ; / 前往新前往新DataTable return namesTable ;第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息10南京理工大學(xué)計算機學(xué)院DataColumn類類DataColurnn是用于創(chuàng)建是用于創(chuàng)建DataTable的架構(gòu)的根本的架構(gòu)的根本構(gòu)造塊。經(jīng)過向構(gòu)造塊。經(jīng)過向DataColumnCollection 中添加一中添加一個或多個個或多個DataColumn對象來生

15、成這個架構(gòu)。對象來生成這個架構(gòu)。每個每個DataColumn都有都有DataType屬性,該屬性確定屬性,該屬性確定DataColumn所包含的數(shù)據(jù)的種類。例如,可以將所包含的數(shù)據(jù)的種類。例如,可以將數(shù)據(jù)類型限制為整數(shù)、字符串或小數(shù)。由于數(shù)據(jù)類型限制為整數(shù)、字符串或小數(shù)。由于DataTable所包含的數(shù)據(jù)通常合并回其原始數(shù)據(jù)源,所包含的數(shù)據(jù)通常合并回其原始數(shù)據(jù)源,因此必需使數(shù)據(jù)類型與數(shù)據(jù)源中的數(shù)據(jù)類型匹配。因此必需使數(shù)據(jù)類型與數(shù)據(jù)源中的數(shù)據(jù)類型匹配。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息11DataRelation類類南京理工大學(xué)計算機學(xué)院運用運用DataRelation經(jīng)過經(jīng)過DataC

16、olumn對象將兩個對象將兩個DataTable對象相互關(guān)聯(lián)。對象相互關(guān)聯(lián)。關(guān)系是在父表和子表中的匹配的列之間創(chuàng)建的。即,關(guān)系是在父表和子表中的匹配的列之間創(chuàng)建的。即,兩個列的兩個列的DataType值必需一樣。值必需一樣。關(guān)系還可以將父級關(guān)系還可以將父級DataRow中的各種更改層疊到其中的各種更改層疊到其子行。假設(shè)要控制在子行中如何更改值,請將子行。假設(shè)要控制在子行中如何更改值,請將ForeignKeyConstraint添加到添加到DataTable對象的對象的ConstraintCollection。ConstraintCollection確定在確定在刪除或更新父表中的值時采取什么操作

17、。刪除或更新父表中的值時采取什么操作。在創(chuàng)建在創(chuàng)建DataRelation時,它首先驗證能否可以建立時,它首先驗證能否可以建立關(guān)系。在將它添加到關(guān)系。在將它添加到DataRelationCollection之后,之后,經(jīng)過制止會使關(guān)系無效的任何更改來維持此關(guān)系。經(jīng)過制止會使關(guān)系無效的任何更改來維持此關(guān)系。第7章 管理和使用數(shù)據(jù)庫數(shù)據(jù) 前一頁 休息12DataRelation類類南京理工大學(xué)計算機學(xué)院DataRelation對象包含在對象包含在DataRelationCollection中,后者可以經(jīng)過中,后者可以經(jīng)過DataSet的的Relations屬性、屬性、DataTable的的ChildRelations和和ParentRelations屬屬性來訪問。性來訪問。private void CreateRelation ( ) / 從一個數(shù)據(jù)集中的兩個表對象中得到從一個數(shù)據(jù)集中的兩個表對象中得到Datacolumn對象對象 DataColumn parentCol ; DataColunm childCol ; parentCol = DataSet1.Tables Customers .Columns CustID ; childCol = DataSet1.Tables Orders .Columns CustID ; / 創(chuàng)建一個新的創(chuàng)建一個新的DataRel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論