本文提供有關如何使用 SQL Server .NET 資料提供者搭配 Visual Basic .NET 開啟 Microsoft SQL Server 資料庫的相關資訊。 您可以使用 ADO.NET,透過 SQL Server .NET 數據提供者開啟 SQL Server 資料庫。 ADO.NET 會收集數據處理所需的所有類別。
命名空間 System.Data.SqlClient 描述用來以程式設計方式存取 SQL Server 數據源的類別集合。 您可以透過 System.Data.OleDb 命名空間存取 ADO 類別,以提供 OLE DB 資料庫的支援。
在本文中,會以程式設計的方式設定聯機,也可使用 Visual Studio .NET 的伺服器總管進行設定。 本文中的程式代碼範例會使用 SqlConnection、 SqlCommand和 SqlDataReader ADO.NET 物件。
適用於: Visual Basic .NET
原始 KB 編號: 308656
先決條件
- Microsoft SQL Server
- Visual Basic .NET
注意
SQL Server 和 Visual Basic .NET 必須安裝並在同一部電腦上執行。 此外,用戶必須使用 Windows 整合式安全性來連線到 SQL Server。
本文假設您已熟悉下列主題:
- ADO.NET 概念
- SQL Server 概念和 Transact-SQL (T-SQL) 語法
- Northwind 範例資料庫
建立 Visual Basic .NET Windows 應用程式
在 Visual Studio .NET 中,建立 Visual Basic Windows 應用程式專案,並將其命名為 SQLDataAccess。
開啟 Form1。
在 Form1.vb的第一行中,新增 ADO.NET 命名空間的參考,如下所示:
Imports System.Data.SqlClient若要確定 SQL Server 服務正在您的電腦上執行,請選取 [ 開始]、指向 [ 程式]、指向 [Microsoft SQL Server],然後選取 [SQL Server Service Manager]。
將 Server 屬性設定為電腦的名稱,然後將 Services 屬性設定為 MSSQLServer。
如果服務未執行,請選取 [ 啟動]。
關閉 [ SQL Server Service Manager] 對話框。
建立 ADO.NET 物件
Form1修改 類別,如下所示:
Public Class Form1
Inherits System.Windows.Forms.Form
'Create ADO.NET objects.
Private myConn As SqlConnection
Private myCmd As SqlCommand
Private myReader As SqlDataReader
Private results As String
物件 SqlConnection 會建立資料庫連接、 SqlCommand 對象對資料庫執行查詢,而 SqlDataReader 物件會擷取查詢的結果。
使用 SqlConnection 對象開啟 SQL Server 連線
若要設定 物件的 連接字串
SqlConnection,請將下列程式代碼新增至Form1_Load事件過程:'Create a Connection object. myConn = New SqlConnection("Initial Catalog=Northwind;" & _ "Data Source=localhost;Integrated Security=SSPI;")若要設定
Command包含 SQL 查詢的物件,請將下列程式代碼新增至Form1_Load事件過程:'Create a Command object. myCmd = myConn.CreateCommand myCmd.CommandText = "SELECT FirstName, LastName FROM Employees" 'Open the connection. myConn.Open()
SqlConnection 會使用您的 Windows 登入詳細數據連線到 電腦上的 Northwind 資料庫。
使用 SqlDataReader 物件從 SQL Server 擷取數據
將下列程式碼新增至
Form1_Load事件程序中:myReader = myCmd.ExecuteReader()
當 myCmd.ExecuteReader 方法執行時, SqlCommand 會從數據表擷 Employees 取兩個 SqlDataReader 字段,並建立物件。
若要顯示查詢結果,請將下列程式代碼新增至
Form1_Load事件過程:'Concatenate the query result into a string. Do While myReader.Read() results = results & myReader.GetString(0) & vbTab & _ myReader.GetString(1) & vbLf Loop 'Display results. MsgBox(results)
方法 myReader.Read 會傳回布爾值,指出是否要讀取更多記錄。 SQL 查詢的結果會顯示在消息框中。
若要關閉
SqlDataReader和SqlConnection物件,請將下列程式代碼新增至Form1_Load事件過程:'Close the reader and the database connection. myReader.Close() myConn.Close()儲存並執行專案。
在伺服器總管中檢視資料庫
- 在 [ 檢視] 功能表上,選取 [伺服器總管]。
- 以滑鼠右鍵按兩下 [資料連線],然後選取 [ 新增連線]。
- 在 [數據鏈接屬性] 對話框中,選取 [選取或輸入伺服器名稱] 方塊中的 localhost。
- 若要登入伺服器,請選取 [Windows NT 整合式安全性]。
- 選取 [ 選取伺服器上的資料庫],然後選取清單中的 Northwind 資料庫。
- 若要驗證連線,請選取 [ 測試連線],然後選取 [ 確定]。
- 在 [伺服器總管] 中,選取並展開 [資料連線] 樹狀結構,使
Employees資料表節點展開。 個別欄位的屬性會出現在 [屬性 ] 視窗中。
使用伺服器總管開啟 SQL Server 連線
在 [設計視圖] 中檢視 Form1。
Employees從 [伺服器總管] 中的數據表,將 FirstName 和 LastName 資料庫欄位拖放到 Form1。 此動作會在SqlConnection表單上建立和SqlDataAdapter物件。在 [ 檢視] 功能表上,選取 [ 工具箱]。
在 [ 數據] 索引標籤上,將物件 (DataSet1) 拖放
DataSet到表單上。在 [ 新增數據集] 對話框中,選取 [ 不具類型的數據集],然後選取 [ 確定]。
在
Form1_Load事件過程中,在DataReader和Connection物件關閉之前插入一行程序代碼,以結束程序,如下所示:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()在工具箱的 [視窗表單 ] 索引標籤上,將 DataGrid 控件拖放到 Form1。
** 在
Form1_Load事件過程中,於myReader.close()行前新增下列程式代碼,以將 DataGrid 系結至稍早建立的DataSet物件:DataGrid1.SetDataBinding(DataSet1, "Employees")儲存並執行專案。