netdragon16888 发表于 2023-9-10 16:05:40

autolisp如何操作mdb文件

这里有一个test.mdb文件

求写一个lsp文件读写test.mdb文件,如果有什么需要安装的驱动也一并告之

我的系统是win7 安装office2010
然后我在论坛里找了一些代码,但是好像都提示数据连接失败什么的,或者差了什么要安装。

lijiao 发表于 2023-9-10 16:05:41

https://www.microsoft.com/zh-cn/download/details.aspx?id=13255

yhly555 发表于 2023-9-10 16:10:40

据lisp操作数据库非常困难,如果想操作数据库最好选择其他语言。

wzg356 发表于 2023-9-10 18:19:46

我以前等帖子有,有函数及读写增删字段示例

lijiao 发表于 2023-9-10 19:33:09

我用的是office2016,需要安装一个数据搜索引擎,可以到微软官网下载,至于lisp代码,论坛里面有现存的

netdragon16888 发表于 2023-9-10 21:17:34

lijiao 发表于 2023-9-10 19:33
我用的是office2016,需要安装一个数据搜索引擎,可以到微软官网下载,至于lisp代码,论坛里面有现存的

能帮我找你说的那个数据搜索引擎吗?

netdragon16888 发表于 2023-9-10 21:55:43

wzg356 发表于 2023-9-10 18:19
我以前等帖子有,有函数及读写增删字段示例

;打开数据库
;(DSQL_OPEN (getdb) "密码")
(defun DSQL_OPEN (ff kg / ConnectString)
      (if ff
                (progn
                        (setq ConnectString
                              (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
                                        ff "Persist Security Info=False")
                        )
                        (ADOLISP_ConnectToDB ConnectString "admin" kg);密码权限
                )
      )
);对象 or nil,每一次打开要与一次关闭对应




(DSQL_OPEN (getdb) "密码")
这上面的代码,试了N次,都是返回nil

nxchenjk 发表于 2023-9-11 08:53:31

本帖最后由 nxchenjk 于 2023-9-11 08:55 编辑

首先加载 ADOLISP_Library.lsp (论坛里有)
(setq mdbfile (getfiled "" "d:\\" "mdb" 8));设置数据库名称并打开数据库
(setq ConnectString(strcat " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" mdbfile "; Persist Security Info=False"))
(setq MdbFile_Object(ADOLISP_ConnectToDB ConnectString "admin" ""))
;;取得指点条件的一行内容
(setq Line_1(cadr(ADOLISP_DoSQL MdbFile_Object(strcat "SELECT * FROM Where 起点点号 = 'DX77' and 连接方向 ='DX70'"))))   
;表CJK中写入内容
(ADOLISP_DoSQL MdbFile_Object(strcat "INSERT INTO " "CJK"" VALUES(" (rtos NewId 2 0)",'2e',3)" ";"))
(ADOLISP_DisconnectFromDB MdbFile_Object);关闭数据库
(setq MdbFile_Object nil)                  ;释放内存
页: [1]
查看完整版本: autolisp如何操作mdb文件