mdb数据库连接的最基本步骤
本帖最后由 dcl1214 于 2025-12-3 19:31 编辑(setq db_path "C:\\雨污水管线数据库.mdb")
(setq DBConnection (vl-catch-all-apply 'vlax-create-object(list "adodb.connection")))
;创建并返回ADO Connection对象①
(setq RSObject (vl-catch-all-apply 'vlax-create-object(list "adodb.recordset")))
;创建并返回ADO RecordSet对象adok-adConnectUnspecified ②
(setq connstring
(strcat
;"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";32位的cad调用方法
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";64位的cad调用方法
db_path
)
) ;设置数据库连接字符串 ③
(setq open-zt (vl-catch-all-apply
(function (lambda ()
(vlax-invoke-method
DBConnection "open"
connstring ""
""
adok-adConnectUnspecified
)
)
)
) ;如果数据库已经连接成功了就跳过去,执行下面代码 ④
)
(if (vl-catch-all-error-p open-zt);若果上面开启数据库失败了
(alert (vl-catch-all-error-message open-zt)) ;弹出错误提示
)
(setq sql "select * from 点表")
(setq rs (vl-catch-all-apply
'vlax-invoke-method
(list DBConnection "Execute" sql nil -1)
)
)
;执行sql语句查询 ⑤
(if (vl-catch-all-error-p rs) ;若果上面开启数据库失败了
(alert (vl-catch-all-error-message rs)) ;弹出错误提示
)
(vl-catch-all-apply 'vlax-release-object (list rs))
(vl-catch-all-apply 'vlax-release-object (list RSObject))
;释放记录集对象 ⑥
(vl-catch-all-apply
'vlax-invoke-method
(list DBConnection "close")
) ;关闭数据库连接对象 ⑦
(vl-catch-all-apply
'vlax-release-object
(list DBConnection)
) ;释放连接对象 ⑧
(setq DBConnection
nil
RSObject nil
) ;变量做空 ⑨
(gc) ;释放内存 ⑩ 楼主,这种程序是子程序吗,还是示范代码
页:
[1]