程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 使用ADO.NET設計數據庫應用程序

使用ADO.NET設計數據庫應用程序

編輯:關於.NET

認識ADO和ADO.Net

ActiveX Data Object(簡稱ADO)是微軟提供的數據訪問模型,依據這個模型 可很輕松的操作數據庫。同時ADO受到微軟所以開發工具的支持,所以無論是VB、 VC、ASP開發都可以使用。所以開發ASP數據庫應用程序,只需在代碼中嵌入SQL( 結構化查詢語言)命令,用戶就可以很輕松的輸入、更新、和刪除後台的數據庫 記錄。當用戶端的浏覽器填好表單所要求輸入的資料並按下“Submit(確認 )”按鈕後,經過互聯網、內聯網傳送HTTP請求到WEB服務器,該請求在WEB 服務器執行一個表單所指定的Active Server Pages程序(後綴名為.ASP的文檔) 。

從ADO.Net不僅僅是ADO的一個簡單升級,它是微軟.NET戰略的一個重要組成部 分,那麼到底和以前有什麼不同呢?現在就讓本文來告訴你。

以前在ADO中進行數據處理的主要方法是OLEDB,現在在ADO.Net中也是如此。 但是微軟為了更好地支持目前廣泛使用的兩個數據庫Oracle和SQL Server對OLEDB 做了專門的擴展,它們分別是OracleClient和SQLClient 類,當然由於數據庫產 品很多,為了便於以前的OLEDB的程序升級,故也對OLEDB本身做了升級處理。 在.Net中表現為OLEDB類。

那麼這三個類——OLEDB、OracleClient和SQLClient在編程使用上 到底有什麼不同呢?值得慶幸的是在.Net中進行數據庫的編程時,不管你使用上面 提到的3個類中的哪一個類,這3個類在語法和用法上都大同小異,可以用一通百 通來形容。

怎樣學習ADO.Net技術

筆者在學習和使用了ADO.Net編程後,總結出下面3個必需的步驟,而且這3個 步驟的順序是絕對不可以調換的,如果在以後的編程中發現3個步驟的順序換了或 缺了一個步驟,那麼你的代碼肯定是錯的:

1.使用對應類中的連接方法來連接數據庫。如使用SQLClient類,那麼就用 SqlConnection1建立數據庫的鏈接。

2.打開此鏈接。

3.執行對應類中的命令方法來指定要執行的SQL語句。如使用SQLClient類就使 用SqlCommand執行指定的SQL語句。

下面舉出的兩個例子就是在.Net中使用ADO.Net編程的代碼。由於SQL Server 在使用中比Oracle簡單,所以這裡的數據庫使用Microsoft的SQL Server 2000。 原因是它在安裝後無須配置就可以直接使用。既然訪問的是SQL Server,那麼使 用的類當然是SQLClient類。這兩個例子是:

1.在數據庫中對數據進行添加,刪除,修改。

2.利用ADO技術建立一個SQL Server 2000的數據庫。

例 一

啟動SQL Server2000,然後建立一個數據庫和一個表,並且在表中一定要有主 鍵,隨便輸入一些數據。完成後保存此表。

本文使用的表結構如下:

id列 int型 標志列 主鍵 d列 char型    

表名:使用系統默認的表名table1

然後打開VS.Net建立一個新的工程,並從工具箱中將 “SqlDataAdapter”控件拖動到窗口底部,隨後“數據適配器配 置向導”窗口會自動運行,按照向導提示完成操作(如圖)。

需要注意的是,在出現的“生成SQL語句”窗口中要輸入標准的 select語句,在本例中我們將從表Table1中返回id和d這兩列。所以應該輸入 “SELECT id d FROM Table1”語句,當然單擊“查詢生成器 ”按鈕系統也可以自動生成這條語句。

當完成“數據適配器配置向導”後,你會在窗口的底部發現系統自 動添加了“SqlConnection1”。接下來右擊 “SqlDataAdapter1”,在快捷菜單中選擇“生成數據集” ,隨後可以看見“生成數據集”設置窗口,保持默認設置並單擊 “確定”。現在又會發現在設計窗口下多了一個 “Dataset11”。

到此為止,就差最後一個控鍵“SqlCommand”,我們只要在工具欄 中將它拖放過來並修改其屬性的“Connection”設置為 “SqlConnection1”,並在“CommandText”屬性中利用 “查詢生成器”為其生成select語句即可。到現在為止,我們就完成 了ADO.Net訪問數據庫的一大半了。

網格是顯示數據的最好方法,為了讓數據顯示在網格中我們需要添加此控件並 且修改其屬性。添加的方法就是直接從工具箱中將它拖過來即可。不過它的屬性 設置倒是很簡單,只要將“Datasource”設置為 “Dataset11.table”即可,table是表示表的名字。

最後添加兩行代碼即可完成對數據的添加、刪除、修改的操作。

在Form1_Load部分加入“Sql DataAdapter1.FillDataSet11 ″Table1″ ”,代碼:

Private Sub Form1_LoadByVal sender As System.Object ByVal e As System.EventArgs  Handles MyBase.Load
 SqlDataAdapter1.FillDataSet11 ″Table1″ '將表中的數據 添加到DataSet1中。
End Sub

添加一個Button1在Button1_Click中加入“SqlDataAdapter1.Update DataSet11 ″Table1″ ”代碼。

Private Sub Button1_ClickByVal sender As System.Object ByVal e As System.EventArgs  Handles Button1.Click
 SqlDataAdapter1.UpdateDataSet11″Table1″ ' 完成數據庫 的添加、刪除、修改功能。
End Sub

程序說明:其中SqlDataAdapter1.Fil語句是把表中具體的數據添入DataSet11 後,而SqlDataAdapter1.Update是表示當完成對數據的修改後使用Update進行數 據庫的更新,使修改的數據生效。按“F5”運行程序,你就可以看見 表中的數據都顯示出來了,同時你可以隨意對它們進行修改。如要刪除數據,只 要按下鍵盤上的“del”鍵即可。

例一中使用控件的簡單介紹:

SqlDataAdapter: 建立數據庫的連接,完成數據庫的添加、刪除、修改功能的配 置。 SqlConnection: 建立連接字符為SqlCommand提供連接依據。 DataSet1: 加載表結構和表數據,以便在表格中顯示具體數據。 SqlCommand: 用來執行對表的各種具體的操作。

例 二

這裡為了讓大家知道OLEDB和SQLClient在.Net中多麼地接近,此例子將使 用.Net中的OLEDB類。在這個程序中我們將使用ADO.Net中的OLEDB類和SQL語句來 建立數據庫、表。接著上例添加2個命令按鈕,不修改任何屬性,並再加入如下代 碼:

Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_ClickByVal sender As System.Object ByVal e As System.EventArgs 
Handles Button1.Click
 Dim con As New OleDb.OleDbCon nection″Provider=SQLOLEDB.1 Integrated
 Security=SSPIPersist Security Info=FalseInitial Catalog=Northwind Data
 Source=.Use Procedure for Prepare=1Auto Translate=TruePacket
 Size=4096Workstation ID=JUse En cryption for Data=FalseTag with column collation
 when possible=False″ '建立與數據庫的連接
 con.Open '打開連接
 Dim cmd As New OleDb.OleDbCommand″create database jk″ con  '創建數據jk
cmd.ExecuteNonQuery '執行創建命令
 con.Close '關閉連接
 '建立數據庫
End Sub

程序說明:在Button1_Click中可以看出連接對象的連接字符串和前面由系統 自動生成的連接字符串不同。原因是我門要創建的新數據庫jk 還並不存在,所以 為了使連接數據庫成功,並且有足夠的權利來建立jk數據庫,就必須通過以 SQLServer管理員的身分連接一個SQL Server中已有的數據庫,獲得對整個SQL Server的訪問控制權限,再建立jk數據庫。這裡連接的是Northwind數據庫。而後 面的的Button2_Click直接連接到jk數據庫。因為我們要在jk數據庫中建立表。

Private Sub Button2_ClickByVal sender As System.Object ByVal e As
System.EventArgs  Handles Button2.Click
Dim con2 As New OleDb.OleDbCon nection″Provider=SQLOLEDB.1 Integrated
Security=SSPIPersist Security Info=FalseInitial Catalog=jkData Source=.Use
Procedure for Prepare=1Auto Trans late=TruePacket Size=4096 Workstation ID=JUse
Encryption for Data=FalseTag with column collation when possible=False″ '建立與數據庫的連接
con2.Open '打開連接
Dim cmd As New OleDb.OleDbCom mand″create table kkid int identity11  not
null constraint id primary keyname char4  not null ″ con2   '建立表kk
cmd.ExecuteNonQuery 
Dim cmd2 As New OleDb.OleDbCom mand″create table ppid int not nullads
char20  null ″ con2  '建立表pp
cmd2.ExecuteNonQuery '執行建立表命令
con2.Close '關閉連接
'建立2個表
End Sub
End Class

程序說明:程序中Button2_Click建立了兩個表,kk和pp。其中kk包括一個種 子列並且設定為主鍵。pp是一個一般的表。其實通過Button2_Click中所用的方法 我們還可以建立數據庫中的存儲過程、約束等。其方法就是將OleDbCommand後的 建立表的SQL語句換成存儲過程、約束的SQL語句即可。由於SQL語句已經超出了本 文的范圍,所以這裡不做講解。

總 結

對於ADO.Net的編程來說除了要掌握ADO.Net的技術外,還必須掌握數據庫的一 些知識。本文只是編寫了兩個簡單的數據庫程序,其目的是讓大家知道,ADO.Net 的編程其實本身並不復雜。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved