明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1930|回复: 4

autolisp 与数据库连接

[复制链接]
发表于 2003-1-12 23:15:00 | 显示全部楼层 |阅读模式
不知道,那位大虾指导我autolisp  与数据库连接能不能行。
发表于 2003-1-13 09:04:00 | 显示全部楼层

使用vlisp可以利用ado接口连接。具体可以参考相关的书籍。相关函数vlax-create-obj

使用vlisp可以利用ado接口连接。具体可以参考相关的书籍。相关函数vlax-create-object[br]
发表于 2003-1-13 21:11:00 | 显示全部楼层

如内...

本帖最后由 mccad 于 2003-1-13 21:11:52 编辑

通过类型库初始化ADO接口方法:

(defun DbInitADO ( / ADO_DLLPath)
  (if (null adom-Append)
    (progn

      ;; 尽管你可以把绝对路径输入到这里,但利用系统查找到的系统
      ;; 文件夹将会更加合理,可以避免不必要的错误。

      (setq ADO_DLLPath
        (strcat (getenv "systemdrive")
        "\\Program Files\\Common Files\\System\\Ado\\")
      )

      ;; 如果查找到类型库 ...

      (if (findfile (strcat ADO_DLLPath "msado15.dll"))

        ;; 将其输入

        (vlax-Import-Type-Library
          :tlb-filename   (strcat ADO_DLLPath "msado15.dll")
          :methods-prefix    "adom-"
          :properties-prefix "adop-"
          :constants-prefix  "adok-"
        )
        ;; 找不到时,则通知操作者
        (alert (strcat "不能找到以下文件\n" ADO_DLLPath "msado15.dll"))
      )
    )
  )
)


生成MS-Access 或 MS-SQL Server 数据库的连接字符串  

;;;******************************************************************
;;; 使用ODBC(不需要DSN)连接MS-Access数据库
;;; 示例: (DbConnect_MSAccess1 "d:/dbfiles/products.mdb")
;;;******************************************************************

(defun DbConnect_MSAccess1 (dbFile)
  (strcat
    "rovider=MSDASQL;"
    "Driver={Microsoft Access Driver (*.mdb)};"
    "DBQ=" dbFile
  )
)

;;;******************************************************************
;;; 使用JET 3.51连接MS-Access数据库
;;; 示例: (DbConnect_MSAccess2 "d:/dbfiles/products.mdb")
;;;******************************************************************

(defun DbConnect_MSAccess2 (dbFile)
  (strcat
    "rovider=Microsoft.Jet.OLEDB.3.51;"
    "Data Source=" dbFile
  )
)

;;;******************************************************************
;;; 使用ODBC(不需要DSN)连接MS-SQL数据库
;;; 示例: (DbConnect_MSSQL1 "SQLSERVER1" "products" "sa" "")
;;;******************************************************************

(defun DbConnect_MSSQL1 (dbServer dbName dbUser dbPassword)
  (strcat
    "rovider=SQLOLEDB;"
    "Driver={SQL Server};"
    "Server=" dbServer ";"
    "Database=" dbName ";"
    "UID=" dbUser ";"
    "WD=" dbPassword
  )
)

;;;******************************************************************
;;; 使用ODBC连接MS-SQL数据库w/o
;;; Ex. (DbConnect_MSSQL2 "SQLSERVER2" "pr_catalog1" "sa" "")
;;;******************************************************************

(defun DbConnect_MSSQL2 (dbServer dbCatalog dbUser dbPassword)
  (strcat
    "rovider=SQLOLEDB;"
    "Data Source=" dbServer ";"
    "Initial Catalog=" dbCatalog ";"
    "User ID=" dbUser ";"
    "assword=" dbPassword
  )
)

全文见二次开发栏目的最新更新文章。
发表于 2003-1-14 12:37:00 | 显示全部楼层

我也给点资料…

本帖子中包含更多资源

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

x
 楼主| 发表于 2003-1-14 23:30:00 | 显示全部楼层

谢谢各位大虾,戴我研究研究。

但不知道具体的检索,更新,插入,删除怎样实现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 02:50 , Processed in 0.189892 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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