本文介绍如何使用 SQL Server .NET 数据提供程序和 Visual Basic .NET 打开Microsoft SQL Server 数据库。 可以使用 ADO.NET 通过 SQL Server .NET 数据提供程序打开 SQL Server 数据库。 ADO.NET 收集数据处理所需的所有类。
命名空间 System.Data.SqlClient 描述用于以编程方式访问 SQL Server 数据源的类的集合。 可以通过命名空间访问 ADO 类 System.Data.OleDb ,以提供对 OLE DB 数据库的支持。
在本文中,连接通过编程方式和使用 Visual Studio .NET 服务器资源管理器进行设置。 本文中的代码示例使用SqlConnectionSqlCommand和 SqlDataReader ADO.NET 对象。
适用于: Visual Basic .NET
原始 KB 数: 308656
先决条件
- 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 中,创建 Visual Basic Windows 应用程序项目并将其命名为 SQLDataAccess。
打开 Form1。
在 Form1.vb的第一行中,添加对 ADO.NET 命名空间的引用,如下所示:
Imports System.Data.SqlClient若要确保 SQL Server 服务在计算机上运行,请选择“ 开始”,指向“ 程序”,指向“Microsoft SQL Server”,然后选择“ SQL Server Service Manager”。
将服务器属性设置为计算机的名称,然后将“服务”属性设置为 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。
Employees从服务器资源管理器中的表中,将 FirstName 和 LastName 数据库字段拖放到 Form1。 此操作在窗体上创建SqlConnection和SqlDataAdapter对象。在 “视图 ”菜单上,选择 “工具箱”。
在 “数据 ”选项卡上,将对象
DataSet(DataSet1)拖放到窗体上。在“ 添加数据集 ”对话框中,选择 “非类型化数据集”,然后选择“ 确定”。
在
Form1_Load事件过程时,插入一行代码以结束该过程,然后关闭对象DataReader和Connection,如下所示:SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()在工具箱的 “窗口窗体 ”选项卡上,将 DataGrid 控件拖放到 Form1 上。
在
Form1_Load事件处理过程中,在myReader.close()行之前添加以下代码,以便将 DataGrid 绑定到之前创建的DataSet对象:DataGrid1.SetDataBinding(DataSet1, "Employees")保存并运行项目。