《數(shù)據(jù)適配器Ada》PPT課件.ppt_第1頁
《數(shù)據(jù)適配器Ada》PPT課件.ppt_第2頁
《數(shù)據(jù)適配器Ada》PPT課件.ppt_第3頁
《數(shù)據(jù)適配器Ada》PPT課件.ppt_第4頁
《數(shù)據(jù)適配器Ada》PPT課件.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第四講 數(shù)據(jù)適配器Adapter,-ADO,學(xué)習(xí)目標(biāo),5.,4.,3.,2.,1.,DataAdapter介紹,在代碼中創(chuàng)建DataAdapter對象,DataAdapter對象的屬性介紹,DataAdapter對象的方法介紹,DataAdapter對象的事件,ADO.NET 斷開連接的模型。 模型的基本介紹以及講解 DataSet導(dǎo)學(xué),第一部分:DataAdapter簡介,DataAdapter的基本概念及分類。 概念 分類,ADO.NET 斷開連接的模型,ADO.NET提供了以下兩種數(shù)據(jù)訪問模型 連接的模型。本模型使用戶能使用數(shù)據(jù)提供程序連接到數(shù)據(jù)庫并對數(shù)據(jù)庫運(yùn)行SQL命令,命令運(yùn)行結(jié)束后

2、將關(guān)閉和數(shù)據(jù)庫之間的連接。 斷開連接的模型。本模型使得可以為來自數(shù)據(jù)源的數(shù)據(jù)創(chuàng)建內(nèi)存中的緩存,然后與數(shù)據(jù)源之間斷開連接。,ADO.NET 斷開連接的模型(圖),在ADO.NET中, DataSet是數(shù)據(jù)在內(nèi)存中的表示形式, 它提供了獨(dú)立于數(shù)據(jù)源的關(guān)系編程模型。,數(shù)據(jù)庫與數(shù)據(jù)集 之間起橋梁作用,DataAdapter的基本概念,DataAdapter是和數(shù)據(jù)集(DataSet)一起使用的對象,它包括在一個數(shù)據(jù)庫連接后用于填充數(shù)據(jù)集和更新數(shù)據(jù)源的一組數(shù)據(jù)命令,在數(shù)據(jù)庫與數(shù)據(jù)集之間起橋梁作用。 DataAdapter的作用相當(dāng)于綁定的DataSet對象和持久的數(shù)據(jù)存儲之間的通道。 上面講的數(shù)據(jù)存儲可

3、以是數(shù)據(jù)庫、XML文件、Excel、甚至是純文本。 DataAdapter是專門為處理脫機(jī)數(shù)據(jù)而設(shè)計的。,DataAdapter的分類,根據(jù)數(shù)據(jù)庫的不同,將DataAdapter分類。 SqlDataAdapter:不經(jīng)過OLEDB層直接與SQLServer交互,速度較OleDbDataAdapter快。 OleDbDataAdapter:適用于任何可以用OLEDB數(shù)據(jù)提供者訪問的數(shù)據(jù)源。 OdbcDataAdapter:訪問來自 ODBC數(shù)據(jù)提供器支持的數(shù)據(jù)庫的數(shù)據(jù) OracleDataAdapter:訪問來自 Oracle 數(shù)據(jù)提供器支持的數(shù)據(jù)庫的數(shù)據(jù),OLE DB(OLEDB)是微軟的戰(zhàn)

4、略性的通向不同的數(shù)據(jù)源的低級應(yīng)用程序接口。 OLE DB不僅包括微軟資助的標(biāo)準(zhǔn)數(shù)據(jù)接口開放數(shù)據(jù)庫連通性(ODBC) 的結(jié)構(gòu)化查詢語言(SQL)能力, 還具有面向其他非SQL數(shù)據(jù)類型的通路。 作為微軟的組件對象模型(COM)的一種設(shè)計, OLE DB是一組讀寫數(shù)據(jù)的方法(在過去可能被稱為渠道)。,什么是OLEDB?,XxxDataAdapter對象模型,四種數(shù)據(jù)命令對 數(shù)據(jù)庫進(jìn)行讀寫。,DataAdapter構(gòu)造函數(shù) 用DataAdapter填充結(jié)果集 打開和關(guān)閉連接 讀取多個表 串講數(shù)據(jù)綁定,在代碼中創(chuàng)建DataAdapter對象,在代碼中創(chuàng)建DataAdapter對象,了解DataAdapt

5、er的幾種構(gòu)造函數(shù),可以簡化創(chuàng)建DataAdapter對象的過程。 string strConn=Data Source=.;Initial Catalog=northwind;User ID=MyUserid;Password=myPassword; string strSQL=select * from sustomers; 用查詢串和連接字符串 SqlDataAdapter da=new SqlDataAdapter (strSQL,strConn); 該方式會為每個SqlDataAdapter 創(chuàng)建一個新的SQLconnection對象,應(yīng)適當(dāng)選擇。 用查詢串和連接對象 SQLconn

6、ection cn=new sqlConnection(strConn); SqlDataAdapter da=new SqlDataAdapter (strSQL,cn); 比較常用的方式 使用sqlcommand對象 SQLCOMMAND cmd=new sqlcommand(strSQL,CN); SqlDataAdapter da=new SqlDataAdapter (cmd); 已存在一個sqlcommand對象時使用,DataAdapterFill方法,Fill方法一共有4種常用的重構(gòu)方法。 Fill(DataSet) DataSet結(jié)果集 Fill(DataTable) Dat

7、aTable對象 Fill(Int32,Int32,params DataTable) 開始記錄索引 要填充的數(shù)據(jù)表的行數(shù) DataTable對象 Fill(DataSet, Int32,Int32,String) DataSet結(jié)果集對象 開始記錄的索引 要填充的數(shù)據(jù)集的行數(shù) 表名,課堂示例,利用構(gòu)造函數(shù)為SQL與stringConnection實現(xiàn)課堂演示例子的相同功能。 演示數(shù)據(jù)綁定功能,根據(jù)班級查詢學(xué)生信息,班級信息用comboBox控件綁定顯示,查詢結(jié)果用DataGridView控件顯示,練習(xí)作業(yè),用Command對象和數(shù)據(jù)綁定,完成學(xué)生管理系統(tǒng)中的學(xué)生信息的管理:增刪改等功能。,用

8、來控制數(shù)據(jù)閱讀或插入、修改、刪除或更新的屬性。,DataAdapter的屬性,用來控制與數(shù)據(jù)集之間通信的屬性。,DataAdapter的屬性,DataAdapter4個命令屬性的應(yīng)用,SelectCommand屬性的應(yīng)用。 其他命令屬性的設(shè)置與SelectCommand類似,只將對應(yīng)的sql 改為 update、insert、delete即可,SqlDataAdapter adapter = new SqlDataAdapter(); SqlCommand command = new SqlCommand(SELECT * FROM STUDENT + WHERE SAGE = SAGE, c

9、onnection); command.Parameters.Add(SAGE,SqlDbType.Int); command.Parameters0.Value = age; adapter.SelectCommand = command;,DataAdapterTableMappings屬性的應(yīng)用,重點(diǎn)代碼演示:,SqlDataAdapter adapter = CreateDataAdapter(conn, age); DataSet ds = new DataSet(); /Mappings的用法 DataTableMapping mapping = adapter.TableMapp

10、ings.Add(Table, 學(xué)生表); mapping.ColumnMappings.Add(SNO, 學(xué)生編號); mapping.ColumnMappings.Add(SName, 學(xué)生姓名); mapping.ColumnMappings.Add(SDept, 所在院系); mapping.ColumnMappings.Add(SClass, 所在班級); mapping.ColumnMappings.Add(SSex, 性別); mapping.ColumnMappings.Add(SAge, 年齡); adapter.Fill(ds); dataGridView1.DataSou

11、rce = ds.Tables學(xué)生表;/使用設(shè)置好的映射表名字。 dataGridView1.Refresh();,在這一部分我們重點(diǎn)學(xué)習(xí)一下Fill和Update方法。 DataAdapter有兩個重要的方法:Fill()和Update() 。前者從數(shù)據(jù)源把數(shù)據(jù)加載至DataSet,后者把數(shù)據(jù)從DataSet傳回數(shù)據(jù)源。,第四部分:DataAdapter的方法,DataAdapter利用Fill方法進(jìn)行分頁,見課堂代碼示例(Fill方法進(jìn)行分頁),代碼提示: 利用Fill的第四個構(gòu)造函數(shù) Fill(DataSet, StartPageIndex, PageSize, String),Data

12、AdapterUpdate方法,重點(diǎn)代碼演示:,填充DataSet時的代碼: adapter.SelectCommand = new SqlCommand(SELECT * FROM” +” STUDENT, conn); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Fill(ds); dataGridView1.DataSource = ds.Tables0; dataGridView1.Refresh();,更新時的代碼: adapter.Update(ds); MessageBox.Show(更新

13、成功);,課堂示例,用DataAdapter進(jìn)行數(shù)據(jù)增刪改查,及分頁功能,DataAdapter對象的事件列表: Disposed:當(dāng)調(diào)用Dispose釋放組件的時候調(diào)用。 FillError:在填充操作過程中出現(xiàn)錯誤時返回。 RowUpdated:在對數(shù)據(jù)源執(zhí)行命令后的Update過程中發(fā)生,試圖進(jìn)行更新,因此激發(fā)該事件。 RowUpdating:在對數(shù)據(jù)源執(zhí)行命令前的Update過程中發(fā)生,試圖進(jìn)行更新,因此激發(fā)該事件。,DataAdapter的事件,DataAdapter的事件代碼演示,private void sqlDataAdapter1_RowUpdating(object sender, SqlRowUpdatingEventArgs e) textBox1.Text = 數(shù)據(jù)正在更新; private void sqlDataAdapter1_RowUpdated(object sender, SqlRowUpdatedEve

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論