使用 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 來設定。 本文中的程式代碼範例會使用SqlConnectionSqlCommandSqlDataReader 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 應用程式

  1. 啟動 Visual Studio .NET,並建立名為 SQLDataAccess 的新 Visual Basic Windows 應用程式專案。

  2. 開啟 Form1。 在Form1.vb的第一行中,新增 ADO.NET 命名空間的參考,如下所示:

    Imports System.Data.SqlClient
    
  3. 從 Windows [開始] 選單中,指向 [程式],指向 [Microsoft SQL Server],然後按兩下 [SQL Server Service Manager],以確保 SQL Server 服務正在您的電腦上執行。

  4. Server 屬性設定為電腦的名稱,然後將 Services 屬性設定為 MSSQLServer

  5. 如果服務未執行,請按兩下 [ 啟動]

  6. 關閉 [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 連線

  1. 若要設定 物件的 連接字串SqlConnection,請將下列程式代碼新增至Form1_Load事件過程:

     'Create a Connection object.
     myConn = New SqlConnection("Initial Catalog=Northwind;" & _
     "Data Source=localhost;Integrated Security=SSPI;")
    
  2. 若要設定包含 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 擷取數據

  1. 將下列程式代碼新增至 Form1_Load 事件過程:

    myReader = myCmd.ExecuteReader()
    
  2. myCmd.ExecuteReader執行 方法時,SqlCommand會從數據表擷取兩個SqlDataReader字段,Employees並建立物件。

  3. 若要顯示查詢結果,請將下列程式代碼新增至 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 查詢的結果會顯示在消息框中。

  4. 若要關閉 SqlDataReaderSqlConnection 物件,請將下列程式代碼新增至 Form1_Load 事件過程:

    'Close the reader and the database connection.
     myReader.Close()
     myConn.Close()
    
  5. 儲存並執行專案。

在伺服器總管中檢視資料庫

  1. 在 [ 檢視] 功能表上,按兩下 [伺服器總管]。
  2. 以滑鼠右鍵按兩下 [資料 Connections],然後按兩下[新增連線]
  3. 在 [ 數據鏈接屬性 ] 對話框中,按兩下 [ 選取或輸入伺服器名稱 ] 方塊中的localhost。
  4. 按兩下 [Windows NT 整合式安全性] 以登入伺服器。
  5. 按兩下 [選取伺服器上的資料庫],然後從清單中選取 [Northwind 資料庫]。
  6. 按兩下 [測試連線 ] 以驗證連線,然後按兩下 [ 確定]
  7. 在 [伺服器總管] 中,按兩下以展開 [資料] Connections 樹狀結構,Employees讓數據表節點展開。 個別欄位的屬性會出現在 [ 屬性 ] 視窗中。

使用 [伺服器總管] 開啟 SQL Server 連線

  1. 在設計檢視中檢視 Form1。

  2. Employees [伺服器總管] 中的數據表拖曳 FirstNameLastName 資料庫欄位,然後將這些字位放到 Form1。 和 SqlConnectionSqlDataAdapter 物件會在表單上建立。

  3. 從 [ 檢視] 功能表中,按兩下 [ 工具箱]

  4. 在 [ 數據] 索 引卷標上,將物件拖 DataSet 曳 (DataSet1) ,然後將它放到窗體上。

  5. 在 [ 新增數據集 ] 對話框中,按兩下 [ 不具類型的數據集],然後按兩下 [ 確定]

  6. 在事件過程中關閉 Form1_LoadConnection 物件之前DataReader,插入一行程序代碼。 程序的結尾應如下所示:

    SqlDataAdapter1.Fill(DataSet1, "Employees")
    myReader.Close()
    myConn.Close()
    
  7. 在工具箱的 [ 視窗 表單] 索引卷標上,拖曳 DataGrid 控件,然後將它放到 Form1。

  8. 若要將 DataGrid 系結至您稍早建立的 DataSet 物件,請在程式代碼行之前myReader.close(),將下列程式代碼新增至Form1_Load事件過程:

    DataGrid1.SetDataBinding(DataSet1, "Employees")
    
  9. 儲存並執行專案。

參考資料

For more information about using ADO.NET, refer to the Data section of the Visual Basic topic in the Visual Studio .NET Help documentation.