明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6361|回复: 18

64位中怎么通过adodb.connection调用ACCESS数据库?

  [复制链接]
发表于 2012-11-26 21:28:24 | 显示全部楼层 |阅读模式
本帖最后由 SWAYWOOD 于 2012-12-10 15:34 编辑

如题,请高人指点啊!8楼有程序和MDB文件,急啊。。。
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2013-1-9 20:42:03 | 显示全部楼层
自己搞定了,现在把我的经验分享给大家,相信大家都会遇到这种情况,只是你们暂时没有上WIN7X64位。
主要问题还是access2007无法安装64位驱动的问题,换个acess2010x64bit,然后在acdb数据源中检查驱动是否有*.mdb,*.accdb,如果没有需要完全安装office2010,或是去ms官网下载access64位数据引擎安装文件,安装后就有,然后在lisp中将access驱动引用从*.mdb改成*.accdb,一切就通过了!

评分

参与人数 1明经币 +2 收起 理由
mccad + 2 很给力!

查看全部评分

发表于 2012-11-28 11:44:13 | 显示全部楼层
本帖最后由 Gu_xl 于 2012-11-28 11:54 编辑
SWAYWOOD 发表于 2012-11-27 15:44
能否给一个调用数据库的代码啊?研究不来,谢谢!


  1. ;;数据库访问示例代码
  2. (defun c:adotest (/ dbfile *ConnectionObject* result SQLStatement)
  3.   (setq dbfile (getfiled "" "" "mdb" 4))
  4.   (if dbfile
  5.     (progn
  6.       ;;打开MDB数据库
  7.       (setq *ConnectionObject*
  8.       (ADO_ConnectToDB
  9.         (strcat
  10.    "Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};DBQ="
  11.    dbfile)
  12.         "admin"
  13.         "123456")
  14.      )
  15.       (if *ConnectionObject*
  16. (progn
  17.    ;;设置查询字串
  18.    (setq SQLStatement
  19.    "SELECT estName, estNameAlias, estAddrNo, estMapNo, estRoad, estDoorNo, estDiNo, estArea, PreEstAddress, remarks FROM Archives"
  20.   )
  21.    ;;数据库查询
  22.         (setq result (ADO_DoSQL *ConnectionObject* SQLStatement))
  23.    ;;显示查询结果
  24.    (print result)
  25.    ;;返回:
  26.    ;; (("estName" "estNameAlias" "estAddrNo" "estMapNo" "estRoad" "estDoorNo" "estDiNo" "estArea" "PreEstAddress" "remarks")
  27.    ;;  ("配套公建" "无" "xx区" "" "xx路1号院" "8号楼" "" 0.0 "无" ""))
  28.    ;;修改数据库 estName 为 "配套公建1"
  29.    (ADO_DoSQL *ConnectionObject* (strcat "UPDATE Archives SET estName = '配套公建1'"))
  30.    ;;数据库查询
  31.    (setq result (ADO_DoSQL *ConnectionObject* SQLStatement))
  32.    ;;打印修改后结果
  33.    (print result)
  34.    ;;关闭数据库
  35.    (ADO_DisconnectFromDB *ConnectionObject*)
  36.    )
  37. )
  38.       )
  39.     )
  40.   (princ)
  41.   )

测试数据库:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-31 22:18:06 | 显示全部楼层
革天明 发表于 2014-12-20 16:54
(vlax-put-property
        RecordSetObject
        "LockType"

此问题我已经找到了解决办法了
发表于 2019-9-1 13:24:45 | 显示全部楼层
dcl1214 发表于 2019-8-31 22:18
此问题我已经找到了解决办法了

久远的问题了,现在不玩lisp了
发表于 2012-11-26 21:33:08 | 显示全部楼层
本帖最后由 Gu_xl 于 2012-11-26 21:33 编辑

去这里下载源码,里面有一整套ADOdb的方法函数:
http://bbs.mjtd.com/thread-89578-1-1.html
 楼主| 发表于 2012-11-27 12:40:58 | 显示全部楼层
Gu_xl 发表于 2012-11-26 21:33
去这里下载源码,里面有一整套ADOdb的方法函数:
http://bbs.mjtd.com/thread-89578-1-1.html

你确认可以用于64位系统吗?我怎么发现里面代码与我的代码一样的。

点评

可以!  发表于 2012-11-27 15:58
 楼主| 发表于 2012-11-27 15:44:10 | 显示全部楼层
Gu_xl 发表于 2012-11-26 21:33
去这里下载源码,里面有一整套ADOdb的方法函数:
http://bbs.mjtd.com/thread-89578-1-1.html

能否给一个调用数据库的代码啊?研究不来,谢谢!
 楼主| 发表于 2012-12-1 22:42:55 | 显示全部楼层
DOSQL中下面位置出错了。不知道怎么回事。
      (vlax-put-property
        RecordSetObject
        "cursorType"
        ADOConstant-adOpenKeyset
      )
 楼主| 发表于 2012-12-6 13:31:50 | 显示全部楼层
怎么弄啊,帮帮忙啊

点评

我给的程序和例子都没问题!  发表于 2012-12-6 14:30
 楼主| 发表于 2012-12-6 15:52:01 | 显示全部楼层
SWAYWOOD 发表于 2012-12-6 13:31
怎么弄啊,帮帮忙啊



帮忙看一下,我将在我自己电脑中可以完全运行的代码压缩发上来了。把所有文件放到D:下,帮忙测试一下在WIN764位下是否可以,谢谢!
现在公司要上64位系统,结果我写的代码只要和MDB数据库有关的都不能用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-12-10 15:33:26 | 显示全部楼层
帮忙看看是怎么回事吧,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 15:38 , Processed in 0.777859 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表