VB 中查询与显示 Access 或 SQL Server 数据库中的数据教程及示例代码

更新时间:2024-04-13 11:05:41   人气:7464
在Visual Basic (VB)编程环境中,访问和展示Access或SQL Server数据库的数据是一项常见的任务。以下是一份详尽的指南以及相关的示例代码来演示如何实现这一功能。

**连接到数据库**

首先,无论是使用Microsoft Access还是SQL Server,在VB中都需要通过ADO(ActiveX Data Objects)或者DAO(Data Access Object)建立与数据库的链接。以ADODB对象为例:

vbnet

Dim conn As New ADODB.Connection

' 连接到ACCESS数据库:
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\Database.accdb"

' 连接至SQL SERVER:
conn.ConnectionString = "Driver={SQL Server};Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"

Conn.Open ' 打开连接


**执行查询操作**

一旦建立了连接,可以创建一个Recordset对象并用它去获取指定表中的记录:

vbnet

Dim rs As New ADODB.Recordset

sqlQuery = "SELECT * FROM MyTable" ' 假设我们要从MyTable表选取所有列

rs.Open sqlQuery, conn ' 使用Open方法运行SQL语句,并将结果存储于recordSet内


**显示数据**

遍历 Recordset 并将其内容输出是一个常用的方法。下面是如何在一个Form上的ListBox控件里填充查得的结果:

vbnet

While Not rs.EOF ' 循环直至没有更多记录为止
ListBox1.AddItem(rs!FieldName1 & ", " & rs!FieldName2)
rs.MoveNext ' 移动指针到下一条记录
Wend

rs.Close ' 关闭Record集
conn.Close '关闭数据库连接


上述代码段展示了怎样从名为"MyTable"的表中选择全部字段并将结果显示在一具有多行文本能力如ListBox之类的控件上。请替换`FieldName1` 和 `FieldName2`为实际存在的列名。

请注意:对于生产环境,请确保对用户输入进行有效验证且正确处理可能发生的错误情况例如无效路径、无法打开数据库等异常状况,同时应遵循良好的安全实践,比如避免硬编码密码并在适当时候加密敏感信息。