VB数据库编程实例:从连接到增删改查的完整实现

2026-11-07 0 1

一、准备工作:明确对象与连接方式

VB 数据库编程的主流方式是 ADO(ActiveX Data Objects)。它通过 Connection 建立连接、Command 执行语句、Recordset 读取结果。实例以 Access(.mdb/.accdb)与 SQL Server 为主,二者差别主要在连接字符串。

Access 示例:

Dim conn As New ADODB.Connection

conn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;” & _

“Data Source=” & App.Path & “\data.accdb”

conn.Open

SQL Server 示例则改用 Provider=SQLOLEDB 并给出服务器、数据库与身份验证信息。连接字符串建议写入配置文件或窗体常量,避免散落在代码中。

二、用 Recordset 读取数据

Dim rs As New ADODB.Recordset

rs.Open “SELECT id, name FROM users”, conn, adOpenStatic, adLockReadOnly

Do While Not rs.EOF

Debug.Print rs!id & ” – ” & rs!name

rs.MoveNext

Loop

rs.Close

关键点是游标类型与锁定方式:只读列表用 adOpenStatic + adLockReadOnly,避免不必要的锁开销。字段取值可用 rs!字段名 或 rs.Fields("字段名").Value。

三、参数化实现增删改

拼接 SQL 字符串容易引发注入与引号转义问题,应优先使用 Command 参数。

Dim cmd As New ADODB.Command

Set cmd.ActiveConnection = conn

cmd.CommandText = “INSERT INTO users(name, age) VALUES(?, ?)”

cmd.Parameters.Append cmd.CreateParameter(“n”, adVarWChar, adParamInput, 50, txtName.Text)

cmd.Parameters.Append cmd.CreateParameter(“a”, adInteger, adParamInput, , Val(txtAge.Text))

cmd.Execute

删除与更新同理,只需替换 CommandText 并把主键作为参数传入。Access 使用 ? 占位符并按顺序绑定;SQL Server 也可用 @name 命名参数。

四、事务与错误处理

涉及多表写入时用事务保证一致性:

On Error GoTo ErrHandler

conn.BeginTrans

‘ 多条 Execute

conn.CommitTrans

Exit Sub

ErrHandler:

conn.RollbackTrans

MsgBox “操作失败:” & Err.Description

注意:连接需保持打开状态,事务才有意义;Recordset 用完及时 Close,连接在窗体卸载时释放。

五、常见问题与优化建议

  • 未找到提供程序:检查 ACE 引擎是否安装,32/64 位需与 Office 一致。
  • 字段为空报错:读取前用 IsNull(rs!字段) 判断。
  • 界面卡顿:大数据量分页查询,避免一次性加载全部记录。
  • 资源泄漏:统一在 Form_Unload 中关闭 Recordset 与 Connection。

掌握以上几段代码,即可完成 VB 数据库编程中最常见的连接、查询与增删改操作,再按业务逐步封装成数据访问类,维护成本会明显下降。

看过这篇文章的人,推荐看以下内容

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

版权声明:所有的源码、软件和资料,不得使用于非法商业用途,不得违反国家法律,一切关于该资源商业行为与本站无关。

免费cms模板 建站百科 VB数据库编程实例:从连接到增删改查的完整实现 https://www.mianfeicms.com/12379.html

我是签名

下一篇:

已经没有下一篇了!

相关文章

猜你喜欢
发表评论
暂无评论