ADO數(shù)據(jù)庫訪問方法_第1頁
ADO數(shù)據(jù)庫訪問方法_第2頁
ADO數(shù)據(jù)庫訪問方法_第3頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、ADO. NET數(shù)據(jù)庫訪問方法1. ADO. NET 簡介ADO. NET是微軟發(fā)布的新一代數(shù)據(jù)存取技術(shù),是一個全新的數(shù)據(jù)訪問模型,使 應(yīng)用程序的開發(fā)人員能方便地訪問多種不同的數(shù)據(jù)源。ADO. NET提供了一組用于數(shù) 據(jù)訪問服務(wù)的工具(對象),可以實驗對不同數(shù)據(jù)源的一致訪問。ADO. NET ill. NET Framework數(shù)據(jù)提供程序和DataSet兩個核心部件構(gòu)成。 NET Framework數(shù)據(jù)提供程序是專門為數(shù)據(jù)處理而設(shè)訃的組件。(1) Connection對象提供與數(shù)據(jù)源的連接。(2) Command對象使您能夠訪問用于返回數(shù)據(jù)、修改數(shù)據(jù)、運行存儲過程以及 發(fā)送或檢索參數(shù)信息的數(shù)

2、據(jù)庫命令。(3) DataReader從數(shù)據(jù)源中讀取數(shù)據(jù)。(4) DataAdapter提供連接DataSet對象和數(shù)據(jù)源的橋梁,DataAdapter使用 Command 對象執(zhí)行SQL命令,以便將數(shù)據(jù)加載到DataSet中,并使對DataSet中數(shù)據(jù)的 更改與數(shù)據(jù)源保持一致。ADO. NET DataSet專門為獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問而設(shè)計,可以用于多種 不同的數(shù)據(jù)源,是包含一個或多個DataTable對象的集合,這些對象由數(shù)據(jù)行和數(shù) 據(jù)列以及有關(guān)DataTable對象中數(shù)據(jù)的主鍵、外鍵、約束和關(guān)系信息組成。下圖說明了. NET Framework數(shù)據(jù)提供程序與DataSet之間的關(guān)系

3、。2. ADO. NET 對象(1) Connection 對象Connection對象用于建立應(yīng)用程序與數(shù)據(jù)庫之間的連接。對于不同的數(shù)據(jù) 庫,.NET架框提供不同的Connection對象,SQL Server 7. 0以上版本的數(shù)據(jù)庫使用 的連接對象為SqlConnectiono連接對象中的重要屬性是Connectionstring,該屬性用于設(shè)置連接字符串,連 接字符串的設(shè)置需要提供服務(wù)器名稱、數(shù)據(jù)庫名稱、用戶名及密碼等信息。典型的 SQL Server 7. 0以上版本的數(shù)據(jù)庫的連接字符串為:Data Source=ServerName;Initial Catalog=DataBase

4、Yame;UserID=sa;PassWord=sa使用本地數(shù)據(jù)庫,通過Windows身份驗證時,使用如下連接字符串:Data SourceServerName;Initial Catalog=DatdBaseName;Integrated Security二True(2) Command 對象Command對象用于實現(xiàn)對數(shù)據(jù)庫的查詢、插入、刪除、更新等操作。對于SQL Server 7. 0以上版本的數(shù)據(jù)庫,使用的是SqlCommand對象。Command對象常用的屬 性和方法如下:CommandType. Text屬性:欲執(zhí)彳亍的內(nèi)容,可以是SQL語句或存儲過 程;CommandType屬

5、性:命令類型,Text和StoredProcedure分別表示SQL語句和 存儲過程;Execut eNonQuery ()方法:返回受影響的行數(shù);ExecuteReader ()方法:返回 DataReader 類型值;Command對象的使用方法如下:使用SQL語句的Command設(shè)置:Dim objComm As New SqlCommandOobjComm CommandText二"SQL 語句"objComm CommandType= CommandType TextobjComm Connection=obj Connection使用存儲過程的Command設(shè)置

6、:Dim objComm As New SqlCommandOobjComm. Co mmandText二"存儲過程名"objComm CommandType= CommandType StoredProcedureobjComm Connection=obj Connection(3) DataReader 對象DataReader對象提供一種只讀的、向前的數(shù)據(jù)訪問方法。DataReader對象可通過Command對象的ExecuteReader方法從數(shù)據(jù)源中檢索數(shù)據(jù)來創(chuàng)建。對于SQLServer 7. 0以上版本的數(shù)據(jù)庫,使用的是SqlDataReader對象。(4)

7、DataAdapter 對象DataAdapter對象主要功能是從數(shù)據(jù)源中檢索數(shù)據(jù)、填充DataSet對象中的 表、把用戶對DataSet對象的修改寫入數(shù)據(jù)源。用于SQL Server 7. 0以上版本的 數(shù)據(jù)庫的DataAdapter對象為SqlDataAdapter對象。DataAdapter 對象的常用屬性有 Insert Commands Delet eCommands SelectCommand和UpdateCommand,這些語句用來獲取SQL語句或存儲過程,實現(xiàn)對 數(shù)據(jù)源中數(shù)據(jù)的插入、刪除、查詢和更新操作。DataAdapter對象常用的方法有:Fill ()和Update ()

8、。FillO方法:從數(shù)據(jù)源中讀取數(shù)據(jù)以填充數(shù)據(jù)集。Update()方法:用于數(shù)據(jù)集的插入、修改或刪除操作更新到數(shù)據(jù)源。(5) DataSet 對象DataSet是否ADO. NET的核心部件,其作用是實現(xiàn)獨立于數(shù)據(jù)源的數(shù)據(jù)訪問。 DataSet是將從數(shù)據(jù)源中檢索后得到數(shù)據(jù)并保存到緩存中,包含表、約束、索引和 關(guān)系??梢钥醋鲀?nèi)存中的一個小型關(guān)系數(shù)據(jù)庫.個DataSet對象包含一組DataTable對象和Relation對象,其中每個 DataTable 對象山一組 DataRow> DataColumn 和 Constraint 對象組成。數(shù)據(jù)集是一個容器,需要用數(shù)據(jù)填充它。DataSet

9、對象的填充可以通過調(diào)用 DataAdapter對象的Fill方法來實現(xiàn)填充。2. ADO. NET對象數(shù)據(jù)庫訪問示例代碼代碼一:Imports System. Data'System. Data. SqlClient 名字空間是 SQL Server 的.NET Framework 數(shù)據(jù)提 供程序Imports System .Data .SqlClientPublic Class FormlPublic Sub InsertRowO'定義連接數(shù)據(jù)庫的字符串Dim myConnectionString As String = ''Data Source二PC-2

10、01003112249SQLEXPRESS;Initial Catalog=Studentdb;IntegratedSecurity二True"'創(chuàng)建SQL Server數(shù)據(jù)庫連接Dim myConnection As New SqlConnection(myConnectionString)'定義一個INSERT語句Dim mylnsertQuery As String = _"INSERT INTO curriculum (課程編號,課程名稱,學(xué)分)Values ('0012', ,cccc;2,)'設(shè)置Command對象Dim

11、myCommand As New SqlCommand(mylnsertQuery)設(shè)置SqlCommand的此實例使用的SqlConnectionmyCommand .Connection = myConnection'打開數(shù)據(jù)庫連接myConnection. Open()'執(zhí)行不返回行的命令myCommand ExecuteNonQuery()'關(guān)閉數(shù)據(jù)庫連接myCommand Connection. Close()End SubPrivate Sub Forml_Load(ByVai sender As System. 0bject, ByVai e AsSyst

12、em EventArgs) Handles MyBase LoadInsertRowOEnd SubEnd Class代碼二:Imports System. Data. SqlClient '導(dǎo)入 System. Data. SqlClient 命名空間Public Class FormlPrivate Sub Bu11on1_C1ick(ByVa1 sender As System.0bject, ByVai e As SystemEventArgs) Handles ButtonlClickDim strconn As String'定義連接字符串strconn = 

13、9;'Data Source=trSQLEXPRESS; InitialCatalog二Studentdb;IntegratedSecurity二True"Dim cnn As New SqlConnection()'創(chuàng)建連接對象實例cnn. Connectionstring = strconn '設(shè)置連接字符串屬性cnn. 0pen()打開連接Dim My command As SqlCommand '聲明 SqlCommand 類型變量My command = New SqlCommand ("'SELECT * FROM emp

14、loyee")'創(chuàng)建 SqlCommand類型實例Mycommand. Connection = cnn '設(shè)置變量 My command 的 connection 屬性Dim da As SqlDataAdapter = New SqlDataAdapter()'創(chuàng)建 SqlDataAdapter 對象Dim ds As DataSet = New DataSet ()'創(chuàng)建 DataSet 對象da. SelectCommand = Mycommand '設(shè)置 SqlDataAdapter 對象的SelectCommand 屬性da. F訂 1 (ds, "employee")'

溫馨提示

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

評論

0/150

提交評論