快速掌握ADO.NET存儲過程調用
ADO.NET存儲過程還是比較常用的,于是我研究了一下如何使用存儲過程進行數據插入、刪除和更新。,在這里拿出來和大家分享一下,希望對大家有用。您無需精通ADO.NET存儲過程的編寫也可從本文受益。許多大型編程小組的開發人員需要使用他人編寫的存儲過程。我們的示例之一需要將存儲過程插入到示例數據庫中,但我們將逐步介紹這個任務。
ADO.NET 簡介
本文假設您已經了解了 ADO.NET 的基礎知識。如果您在工作中從未使用過 ADO.NET 中的 DataAdapter、DataSet 和 Command 對象,則應閱讀一些介紹 ADO.NET 的文章,包括 Rocky 為本專欄撰寫的名為 ADO.NET 與您一文。
#T#簡而言之,DataSet 在 ADO.NET 中用作數據容器,并在與數據庫斷開連接時使用。DataSet 包含一個或多個 DataTable,每個 DataTable 都包含行集合。對于那些熟悉傳統 ADO 環境的用戶來說,DataTable 可被看作是斷開連接的 Recordset。DataAdapter 在連接到數據庫時工作。單個 DataAdapter 的作用是使用數據庫中的數據填充某個 DataTable,或將 DataTable 中的更改寫回到數據庫,或者二者兼而有之。
DataAdapter 要求 Command 對象執行各種數據庫操作。Command 對象存放 SQL 語句或指定數據訪問實現方法的ADO.NET存儲過程名稱。每個 DataAdapter 有四個屬性,指定用于四種數據訪問類型之一的命令對象。
◆SelectCommand:此 Command 對象用于從數據庫中選擇數據。
◆UpdateCommand:此 Command 對象用于更新數據庫中的現有記錄。
◆InsertCommand:此 Command 對象用于向數據庫中插入新記錄。
◆DeleteCommand:此 Command 對象用于刪除數據庫中的現有記錄。
到目前為止,您所看到的演示軟件示例可能將其 Command 對象配置為使用 SQL 語句進行數據訪問。實際上,某些示例可能完全跳過了 Command 對象的創建,這是因為 DataAdapter 的某個構造函數允許 Command 對象選擇后臺創建的數據。在使用存儲過程之前,讓我們運行這樣一個示例進行比較。
本文中的所有示例都使用 SQL Server 附帶的 Northwind 示例數據庫。我們還使用專門為 SQL Server 創建的 ADO.NET 類,而不是普通的 OLE DB 類。為了便于訪問這些 SQL Server 類,所有示例都需要在應用程序的代碼頂部加上以下代碼行:
- Imports System.Data.SQLClient
現在,讓我們看看不使用存儲過程執行數據訪問的第一個示例。在此示例中,我們將在 Northwind 數據庫 Products 表中檢索所有產品。創建一個新 Windows 應用程序,在出現的空白 Form1 上,放置一個按鈕和一個 DataGrid。將 DataGrid 的 Anchor 屬性設置為全部四個邊,使之隨表單的擴展而擴展。在按鈕的 Click 事件中,放置以下代碼:
- Dim sConnectionString As String = _
- "server=localhost;uid=sa;pwd=;database=Northwind"
- Dim sSQL As String = "SELECT * FROM Products"
- Dim daGetProducts As New SqlDataAdapter(sSQL, sConnectionString)
- Dim dsProducts As New DataSet()
- daGetProducts.Fill(dsProducts, "Products")
- DataGrid1.DataSource = dsProducts.Tables("Products")
根據計算機配置的不同,可能需要更改連接字符串。建立數據庫連接后,其余代碼應該可以正常運行。此演示軟件說明了填入和使用 DataSet 的最簡單方法。