场景引入:
凌晨3点,你盯着VB6泛蓝的代码界面,第N次弹出“运行时错误‘91’: 对象变量未设置”… 😫 隔壁同事的Python已经连上数据库开始分析,而你的ADO对象还在“玩失踪”?别慌!这篇指南就是你的VB6数据库急救包!
错误示范:直接写Set conn = New ADODB.Connection
→ 报错!❌
正确操作:
代码模板:
Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Set conn = New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\你的数据库.mdb" conn.Open ' 打开连接!🚪
常见坑点:
\
而非,建议用App.Path
动态获取当前目录 Provider=Microsoft.ACE.OLEDB.12.0
Set rs = New ADODB.Recordset rs.Open "SELECT * FROM 表名 WHERE 条件", conn, adOpenDynamic, adLockOptimistic Do Until rs.EOF Debug.Print rs("字段名") ' 输出到立即窗口 rs.MoveNext Loop rs.Close ' 记得关闭!🚮
conn.Execute "INSERT INTO 表名 (字段1,字段2) VALUES ('值1', 值2)" ' 或者用记录集: rs.AddNew rs("字段1") = "值1" rs.Update
错误处理:加上On Error GoTo
避免程序崩溃
On Error GoTo ErrHandler '...数据库操作代码... Exit Sub ErrHandler: MsgBox "数据库抽风啦!错误:" & Err.Description, vbCritical
提速秘诀:
conn.BeginTrans
和conn.CommitTrans
(事务处理)⚡ WHERE
限定范围,避免全表扫描 Q:为什么引用ADO后还是报“用户定义类型未定义”?
A:检查是否勾选了正确的引用项,或者变量声明拼写错误(比如ADODB.Recordset
少了个B)
Q:连接SQL Server怎么改?
A:替换连接字符串:
"Provider=SQLOLEDB;Data Source=服务器名;Initial Catalog=数据库名;User ID=用户名;Password=密码;"
.Close
和Set xxx = Nothing
释放资源!🗑️ 附:MDAC组件缺失怎么办?
去微软官网搜索“MDAC 2.8 redistributable”下载安装(注意系统位数)
本文由 柯懿 于2025-08-02发表在【云服务器提供商】,文中图片由(柯懿)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/510915.html
发表评论