本文介绍如何通过 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 服务器资源管理器进行设置。 本文中的代码示例使用SqlConnection
SqlCommand
和 SqlDataReader
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 应用程序
启动 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 服务在计算机上运行。
将服务器属性设置为计算机的名称,然后将“服务”属性设置为 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。
将 FirstName 和 LastName 数据库字段从
Employees
服务器资源管理器中的表拖动,然后将这些字段拖放到 Form1。 窗体上创建了一个SqlConnection
和SqlDataAdapter
对象。在 “视图 ”菜单中,单击“ 工具箱”。
在 “数据 ”选项卡上,拖动对象
DataSet
(DataSet1),并将其拖放到窗体上。在 “添加数据集 ”对话框中,单击 “非类型化数据集”,然后单击“ 确定”。
在事件过程中关闭
Form1_Load
对象Connection
之前DataReader
插入一行代码。 过程末尾应如下所示:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()
在 工具箱的“窗口窗体 ”选项卡上,拖动 DataGrid 控件并将其拖放到 Form1 上。
若要将 DataGrid 绑定到
DataSet
之前创建的对象,请将以下代码添加到Form1_Load
代码行前myReader.close()
的事件过程:DataGrid1.SetDataBinding(DataSet1, "Employees")
保存并运行项目。
参考
有关使用 ADO.NET 的详细信息,请参阅 Visual Studio .NET 帮助文档中 Visual Basic 主题的“数据”部分。