通过 Visual Basic .NET 使用 SQL Server .NET 数据提供程序打开 SQL Server 数据库

本文介绍如何通过 Visual Basic .NET 使用 SQL Server .NET 数据提供程序打开 SQL Server 数据库。

原始产品版本: Visual Basic .NET
原始 KB 数: 308656

总结

本文介绍如何使用 ADO.NET 通过 SQL Server .NET 数据提供程序打开 SQL Server 数据库。 ADO.NET 收集数据处理所需的所有类。 命名空间 System.Data.SqlClient 描述用于以编程方式访问 SQL Server 数据源的类的集合。 可以通过命名空间访问 ADO 类 System.Data.OleDb ,以提供对 OLE DB 数据库的支持。

在本文中,连接通过编程方式和使用 Visual Studio .NET 服务器资源管理器进行设置。 本文中的代码示例使用SqlConnectionSqlCommandSqlDataReader ADO.NET 对象。

要求

以下列表概述了所需的硬件、软件、网络基础结构和服务包:

  • 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. 服务器属性设置为计算机的名称,然后将“服务”属性设置为 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执行该方法时,SqlCommandEmployees表中检索两个字段并创建一个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. FirstNameLastName 数据库字段从 Employees 服务器资源管理器中的表拖动,然后将这些字段拖放到 Form1。 窗体上创建了一个 SqlConnectionSqlDataAdapter 对象。

  3. “视图 ”菜单中,单击“ 工具箱”。

  4. “数据 ”选项卡上,拖动对象 DataSet (DataSet1),并将其拖放到窗体上。

  5. “添加数据集 ”对话框中,单击 “非类型化数据集”,然后单击“ 确定”。

  6. 在事件过程中关闭Form1_Load对象Connection之前DataReader插入一行代码。 过程末尾应如下所示:

    SqlDataAdapter1.Fill(DataSet1, "Employees")
    myReader.Close()
    myConn.Close()
    
  7. 工具箱的“窗口窗体 ”选项卡上,拖动 DataGrid 控件并将其拖放到 Form1 上。

  8. 若要将 DataGrid 绑定到 DataSet 之前创建的对象,请将以下代码添加到 Form1_Load 代码行前 myReader.close() 的事件过程:

    DataGrid1.SetDataBinding(DataSet1, "Employees")
    
  9. 保存并运行项目。

参考

有关使用 ADO.NET 的详细信息,请参阅 Visual Studio .NET 帮助文档中 Visual Basic 主题的“数据”部分。