ASPNETC#大學(xué)實(shí)用教程_第1頁
ASPNETC#大學(xué)實(shí)用教程_第2頁
ASPNETC#大學(xué)實(shí)用教程_第3頁
ASPNETC#大學(xué)實(shí)用教程_第4頁
ASPNETC#大學(xué)實(shí)用教程_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、ADO.NET與數(shù)據(jù)庫訪問本節(jié)課知識點(diǎn)本節(jié)課知識點(diǎn)nADO.NET的數(shù)據(jù)庫操作對象n利用select語句查詢記錄n利用insert語句插入記錄n利用update語句更新記錄n利用delete語句刪除記錄n利用DataGrid控件操作數(shù)據(jù)庫數(shù)據(jù)綁定 n數(shù)據(jù)綁定是指:在程序設(shè)計時實(shí)現(xiàn)數(shù)據(jù)源與包含數(shù)據(jù)的控件之間的連接n數(shù)據(jù)綁定包括:n簡單型數(shù)據(jù)綁定:將單個數(shù)據(jù)元素綁定到控件上 n復(fù)雜型數(shù)據(jù)綁定:將多個數(shù)據(jù)元素綁定到一個控件上 簡單型數(shù)據(jù)綁定 n綁定簡單屬性的語法: ,其中userID是屬性名稱。n注意:“#”和“%”不能少 n舉例:例7-1簡單型數(shù)據(jù)綁定n綁定控件文本值的語法(以DropDownLi

2、st控件為例) :其中ddl是DropDownList對象的id值。 例7-2n利用下拉列表框?qū)崿F(xiàn)簡單型數(shù)據(jù)綁定復(fù)雜型數(shù)據(jù)綁定 n復(fù)雜型數(shù)據(jù)綁定可以綁定基礎(chǔ)記錄源中的多行或多列 n支持復(fù)雜型數(shù)據(jù)綁定的控件包括數(shù)據(jù)網(wǎng)格控件、組合框和列表框 n實(shí)現(xiàn)方法:設(shè)定組件的DataSource屬性和DataMember屬性 DataGrid1.DataSource = ds ; / 指出數(shù)據(jù)源為一個DataSet對象 DataGrid1.DataMember = “user” ; /將DataGrid控件與ds中的user表綁定 或者: DataGrid1.DataSource=ds.Tablesuser.

3、DefaultView; ADO.NET 組建nADO.NET是.NET應(yīng)用程序的數(shù)據(jù)訪問模型。它能用于訪問關(guān)系型數(shù)據(jù)庫系統(tǒng) 。nADO.NET提供兩個核心的組件: .NET數(shù)據(jù)提供程序:負(fù)責(zé)數(shù)據(jù)訪問 DataSet:負(fù)責(zé)數(shù)據(jù)的操作。 ADO.NET組件結(jié)構(gòu)模型 數(shù)據(jù)提供程序 n數(shù)據(jù)提供程序也稱為數(shù)據(jù)供應(yīng)器、數(shù)據(jù)提供者 n用于連接應(yīng)用程序和數(shù)據(jù)源 n提供對底層數(shù)據(jù)源的訪問,包括四個主要對象:nConnectionnCommandnDataReadernDataAdapter Connection對象 n用來實(shí)現(xiàn)與數(shù)據(jù)庫的連接 ,包括OleDbConnection和SqlConnection等對

4、象 n連接方法:n連接OLE DB數(shù)據(jù)庫(以Access數(shù)據(jù)庫為例) String strCon=Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D: chapter7mytest.mdb; OleDbConnection con = new OleDbConnection(strCon);n連接SQL Server數(shù)據(jù)庫 String strCon=“server=localhost;uid=mytest;pwd=123; database=library”; SqlConnection con=new SqlConnection(strCon);

5、 Command對象 n用來對數(shù)據(jù)庫執(zhí)行SQL語句,包括OleDbCommand和SqlCommand等對象 nCommand對象的常用方法 :常用方法說明ExecuteReader()執(zhí)行查詢,將CommandText屬性發(fā)送到Connection對象,并生成一個DataReader對象ExecuteScalar()執(zhí)行查詢,返回結(jié)果集中第一行的第一列或空引用(如果結(jié)果集為空)ExecuteNonQuery()執(zhí)行刪除、更新、插入等操作,返回一個int類型的值,即語句執(zhí)行后在數(shù)據(jù)庫中所影響的行數(shù)ExecuteXmlReader()用于XML操作,返回一個XmlReader對象,由于系統(tǒng)默認(rèn)沒

6、有引用 System.Xml名空間,因此在使用前必須前引入DataReader對象 n從數(shù)據(jù)庫中讀取數(shù)據(jù),實(shí)現(xiàn)了對數(shù)據(jù)源的只讀訪問 n采用連接的、只向前的、游標(biāo)方式的訪問 n包括OleDbDataReader對象和SqlDataReader對象 DataAdapter對象 n它的作用就是把來自特定數(shù)據(jù)源的信息調(diào)整為關(guān)系型數(shù)據(jù)格式,以適應(yīng)DataSet的需要。n它的功能很強(qiáng)大,不但負(fù)責(zé)把DataSet與關(guān)系型數(shù)據(jù)源聯(lián)系起來,而且能夠自動改變DataSet的數(shù)據(jù)結(jié)構(gòu)。nADO.NET中包括OleDbDataAdapter和SqlDataAdapter等對象總結(jié):nOleDbConnection、O

7、leDbCommand、OleDbDataReader和OleDbDataAdapter等可以連接到所有基于OLE DB提供的數(shù)據(jù)庫nSqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter等可以連接到MS SQL Server。n對于SQL Server而言,使用第二套類庫在性能上優(yōu)于第一套。DataSet nDataSet是ADO.NET的斷開式組件,對DataSet的任何操作,都是在計算機(jī)緩存中完成的 nDataSet包含一個或多個DataTable對象,DataTable表示來自一個表的行集合 DataSet對象模型 使用ADO.NET

8、對數(shù)據(jù)庫進(jìn)行基本操作 nADO.NET提供了兩種訪問數(shù)據(jù)庫的方法:n利用Connection、Command和DataReader對象訪問數(shù)據(jù)庫,這種方式只能從數(shù)據(jù)庫讀取數(shù)據(jù),不能添加、修改和刪除記錄。如果只想進(jìn)行查詢,這種方式效率更高一些;n利用Connection、Command、DataAdapter和DataSet對象,這種方式比較靈活,不僅可以對數(shù)據(jù)庫進(jìn)行查詢操作,還可以進(jìn)行增加、刪除和修改等操作。 ADO.NET訪問數(shù)據(jù)庫的方法Connection對象Command對象DataReader對象DataAdapter對象DataSet對象數(shù)據(jù)庫頁面使用ADO.NET對數(shù)據(jù)庫進(jìn)行基本操

9、作n連接數(shù)據(jù)庫的過程分成兩個部分;創(chuàng)建連接和使用連接。每個部分包含3個步驟。n創(chuàng)建連接: a.導(dǎo)入名稱空間System.Data和System.Data.OleDb b. 創(chuàng)建和填充連接字符串變量,以存放建立連接所需要的信息 c.實(shí)例化OleDbConnection對象 使用ADO.NET對數(shù)據(jù)庫進(jìn)行基本操作n使用連接實(shí)現(xiàn)對數(shù)據(jù)庫操作a.打開連接 b.使用連接。從數(shù)據(jù)源中讀取數(shù)據(jù)或向數(shù)據(jù)源中寫入數(shù)據(jù)。具體實(shí)現(xiàn)依據(jù)執(zhí)行的SQL操作不同而有所區(qū)別。 c.關(guān)閉連接 利用SELECT語句查詢記錄n建立一個Access數(shù)據(jù)庫 mytest,在其中創(chuàng)建一個全國連鎖商場的會員信息表userinfo例7-3n

10、查詢userinfo表中所有會員的信息。利用Insert語句插入記錄 n具體步驟如下:(1)通過Connection類對象建立與數(shù)據(jù)庫的連接;(2)建立Command類的對象,將其命令文本賦值為插入語句;(3)通過命令對象的ExecuteNonQuery()方法執(zhí)行插入操作。 例7-4n向數(shù)據(jù)庫插入記錄。點(diǎn)擊【提交】按鈕后,數(shù)據(jù)插入到數(shù)據(jù)庫中,并在界面的標(biāo)簽上顯示“插入成功”的信息。利用UPDATE語句更新記錄 n例7-5 選擇會員的ID后,顯示該會員的個人信息,修改相應(yīng)內(nèi)容后,點(diǎn)擊【更新】按鈕,將修改內(nèi)容填充到數(shù)據(jù)庫中 利用Delete語句刪除記錄 n例7-6 從下拉列表框中選擇需要刪除的會

11、員ID,然后點(diǎn)擊【刪除】按鈕,從useinfo表中刪除該記錄。 使用DataGrid控件操作數(shù)據(jù)庫 nDataGrid控件是很常用的數(shù)據(jù)庫控件,使用這個控件,可以創(chuàng)建Web報表和數(shù)據(jù)編輯頁面 n支持項的分頁 n在網(wǎng)格中顯式數(shù)據(jù),網(wǎng)格中的列數(shù)可以根據(jù)數(shù)據(jù)源中字段的數(shù)量自動確定 ,也可以手動確定網(wǎng)格中列的數(shù)量 DataGrid控件語法 n DataGrid控件語法n將數(shù)據(jù)綁定到DataGrid控件的語法 :nDataGrid控件名稱.DataSource = 數(shù)據(jù)對象; /指定數(shù)據(jù)源nDataGrid控件名稱.DataBind(); /將DataGrid控件與數(shù)據(jù)源綁定 DataGrid控件語法n

12、DataGrid控件的常用方法:DataBind()nDataGrid控件的常用屬性:屬性名稱說明DataSourceDataSource是DataGrid控件顯示數(shù)據(jù)的來源,即數(shù)據(jù)源。一般是DataSet、DataTable、DataView、DataReader對象或者其他實(shí)現(xiàn)IEnumerable類的對象。DataKeyField在DataGrid中定位一行之后,如果想得到該行的在數(shù)據(jù)表里的位置,就可以通過DataGrid的DataKeyField屬性獲得。一般設(shè)置為數(shù)據(jù)表的Unique字段,通過DataKey屬性 可以得到這一行對應(yīng)的關(guān)鍵字段的值。DataKeysDataKey的集合,

13、通過行的索引來讀取相應(yīng)行的DataKey屬性Columns是DataGrid控件中所有列的集合,可以設(shè)置列的屬性,包括Visible、HeaderText、FooterText、SortExpression等。ItemsItems是DataGridItem的集合,可以遍歷當(dāng)前DataGrid中顯示數(shù)據(jù)的DataGridItem。每一個DataGridItem就是DataGrid中顯示的一行SelectedItem表示 DataGrid 控件中選定項的 DataGridItem 對象。SelectedIndex表示 DataGrid 控件中選定項的索引。CurrentPageIndex表示當(dāng)前顯

14、示頁的索引。EditItemIndex表示DataGrid 控件中要編輯的項的索引。DataGrid控件語法nDataGrid控件的常用事件:DataGrid事件名稱說明ItemCommand()當(dāng)單擊 DataGrid 控件中的任一按鈕時發(fā)生。CancelCommand()對 DataGrid控件中的某個項單擊“取消”按鈕時發(fā)生DeleteCommand()對 DataGrid 控件中的某個項單擊“刪除”按鈕時發(fā)生。EditCommand()對 DataGrid 控件中的某個項單擊“編輯”按鈕時發(fā)生。UpdateCommand()對 DataGrid 控件中的某個項單擊“更新”按鈕時發(fā)生。P

15、ageIndexChanged() 當(dāng)單擊頁選擇元素之一時發(fā)生。ItemDataBound()在項被數(shù)據(jù)綁定到 DataGrid 控件后發(fā)生。ItemCreated()當(dāng)在 DataGrid 控件中創(chuàng)建項時在服務(wù)器上發(fā)生。查詢記錄 n例7-7 用DataReader對象實(shí)現(xiàn)例7-3的查詢功能,將結(jié)果顯示在DataGrid控件中查詢記錄n例7-8 用DataAdapter和DataSet對象實(shí)現(xiàn)例7-3的查詢功能,將結(jié)果顯示在DataGrid控件中n步驟:n利用Connection對象建立和數(shù)據(jù)庫的連接;n建立Command對象,執(zhí)行查詢語句命令;n建立DataAdapter對象;n建立Data

16、Set對象;n使用DataAdapter對象的Fill()方法填充DataSet對象;n將DataSet對象綁定到數(shù)據(jù)綁定控件。更新數(shù)據(jù) n選擇DataGrid控件的Columns屬性后,在彈出的對話框中向“選定列”中添加“編輯、更新、取消”按鈕列,并設(shè)置這幾個按鈕的顯示文字和按鈕的顯示類型更新數(shù)據(jù)n程序運(yùn)行后,當(dāng)單擊【編輯】按鈕時,就會調(diào)用OnEditCommand()事件過程,相應(yīng)的行的每一個字段就會顯示為一個文本框,就可以在其中輸入更新內(nèi)容。n輸入完畢,單擊【更新】按鈕時,就會調(diào)用OnUpdateCommand()事件過程,然后就可以用文本框中的內(nèi)容更新記錄。n單擊【取消】按鈕,就會調(diào)用On

溫馨提示

  • 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

提交評論