共用方式為


使用 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。 本文中的程式代碼範例會使用 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. 若要設定 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 擷取數據

  1. 將下列程式碼新增至 Form1_Load 事件程序中:

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

  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. 以滑鼠右鍵按兩下 [資料連線],然後按兩下[ 新增連線]。
  3. 在 [ 數據鏈接屬性 ] 對話框中,按兩下 [ 選取或輸入伺服器名稱 ] 方塊中的localhost。
  4. 按兩下 [Windows NT 整合式安全性 ] 以登入伺服器。
  5. 按兩下 [ 選取伺服器上的資料庫],然後從清單中選取 Northwind 資料庫。
  6. 按兩下 [ 測試連線 ] 來驗證連線,然後按兩下 [ 確定]。
  7. 在 [伺服器總管] 中,按兩下以展開 [資料連線 ] 樹狀目錄,讓 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. 儲存並執行專案。

參考資料

如需使用 ADO.NET 的詳細資訊,請參閱 Visual Studio .NET 說明檔中Visual Basic 主題的數據一節