使用 SQL Server .NET Data Provider 搭配 Visual Basic .NET 開啟 SQL Server 資料庫
本文提供如何使用 SQL Server .NET Data Provider 搭配 Visual Basic .NET 開啟 SQL Server 資料庫的相關信息。
原始產品版本: Visual Basic .NET
原始 KB 編號: 308656
摘要
本文說明如何使用 ADO.NET,使用 SQL Server .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;")
若要設定包含 SQL 查詢的
Command
物件,請將下列程式代碼新增至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
會從數據表擷取兩個SqlDataReader
字段,Employees
並建立物件。若要顯示查詢結果,請將下列程式代碼新增至
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()
儲存並執行專案。
在伺服器總管中檢視資料庫
- 在 [ 檢視] 功能表上,按兩下 [伺服器總管]。
- 以滑鼠右鍵按兩下 [資料 Connections],然後按兩下[新增連線]。
- 在 [ 數據鏈接屬性 ] 對話框中,按兩下 [ 選取或輸入伺服器名稱 ] 方塊中的localhost。
- 按兩下 [Windows NT 整合式安全性] 以登入伺服器。
- 按兩下 [選取伺服器上的資料庫],然後從清單中選取 [Northwind 資料庫]。
- 按兩下 [測試連線 ] 以驗證連線,然後按兩下 [ 確定]。
- 在 [伺服器總管] 中,按兩下以展開 [資料] Connections 樹狀結構,
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")
儲存並執行專案。
參考資料
For more information about using ADO.NET, refer to the Data section of the Visual Basic topic in the Visual Studio .NET Help documentation.
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應