使用 SQL Server .NET 數據提供者搭配 Visual Basic .NET 開啟 SQL Server 資料庫
本文提供如何使用 SQL Server .NET 數據提供者搭配 Visual Basic .NET 開啟 SQL Server 資料庫的相關信息。
原始產品版本: Visual Basic .NET
原始 KB 編號: 308656
摘要
本文說明如何使用 SQL Server .NET 數據提供者,使用 ADO.NET 來開啟 SQL Server 資料庫。 ADO.NET 會收集數據處理所需的所有類別。 命名空間 System.Data.SqlClient
描述用來以程式設計方式存取 SQL Server 數據源的類別集合。 您可以透過 System.Data.OleDb
命名空間存取 ADO 類別,以提供 OLE DB 資料庫的支援。
在本文中,聯機會以程序設計方式設定,並使用Visual Studio.NET Server Explorer。 本文中的程式代碼範例會使用 SqlConnection
、 SqlCommand
和 SqlDataReader
ADO.NET 物件。
需求
下列清單概述您需要的必要硬體、軟體、網路基礎結構和 Service Pack:
- 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,並建立名為 SQLDataAccess 的新 Visual Basic Windows 應用程式專案。
開啟 Form1。 在Form1.vb的第一行中,新增 ADO.NET 命名空間的參考,如下所示:
Imports System.Data.SqlClient
從 [Windows 開始 ] 功能表,指向 [程式],指向 [Microsoft SQL Server],然後按兩下 [ SQL Server Service Manager ],以確保 SQL Server 服務正在您的電腦上執行。
將 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
物件會在表單上建立。從 [ 檢視] 功能表中,按兩下 [ 工具箱]。
在 [ 數據] 索引標籤上,拖曳
DataSet
物件 (DataSet1),並將其放到窗體上。在 [新增數據集] 對話框中,按兩下 [不具類型的數據集],然後按兩下 [確定]。
在事件過程中關閉
Form1_Load
和Connection
物件之前DataReader
插入一行程序代碼。 程序的結尾應該如下所示:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()
在工具箱的 [ 視窗表單 ] 索引卷標上,拖曳 DataGrid 控件,然後將它拖放到 Form1。
若要將 DataGrid 系結至
DataSet
您稍早建立的物件,請在程式代碼行之前myReader.close()
,將下列程式代碼新增至Form1_Load
事件過程:DataGrid1.SetDataBinding(DataSet1, "Employees")
儲存並執行專案。
參考資料
如需使用 ADO.NET 的詳細資訊,請參閱 Visual Studio .NET 說明檔中Visual Basic 主題的數據一節。