明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1549|回复: 3

[求助]大家能帮我写一个连接到sql的lisp吗

  [复制链接]
发表于 2006-11-16 08:02 | 显示全部楼层 |阅读模式
最近想把cad图写到sql中在网上找到一些用vlisp连接库的东东,可是怎么都有问题.只有用vba来写;
可是vba又不会只有重新学,感觉还是lisp好用.大家能帮我写一个连接到sql的lisp吗?
我的服务器名称是"hbxx"库名"cadsql"用户名"h"密码"h"
发表于 2006-11-16 21:35 | 显示全部楼层

因为我是单机的,没有建SQL Server,

现给你来一个简单的操作ACCESS的吧,

只有 Select 查询,我没有做Insert,Update等,那个东西再用 Execute 就可以了

你自己把ConnectionString给改一下就可以了

希望能起到抛砖引玉的作用 ^_^

;; FileName 为MDB的文件名字 "D:\\NETSEND.MDB" .
;; TableName 为Table的名字 "Name"   .
;; AutoCAD2005+msado15    .
;; 此文件为我程序中的一个子函数,故此处未做各种环境的设定 .
(Defun HuaiYu_GetlstFromMDB (FileName TableName / myCn myRs strCon lstName Fields fCount rCount loop rCount item i) ;FileName TableName
  (VL-LOAD-COM)
  (setq myCn (vlax-create-object "ADODB.Connection"))
  (setq myRs (vlax-create-object "ADODB.Recordset"))
  (setq strCon (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" FileName "ersist Security Info=False"))
  (vlax-invoke-method myCn "Open" strCon userID userPassword fds)
  (vlax-invoke-method myRs "Open" (strcat "select * from " TableName) myCn 1 1 -1)
  (vlax-invoke-method myRs "moveFirst")
  (setq lstName '())
  (setq Fields (vlax-get-property myRs "Fields")
 fCount (vlax-get-property Fields "Count")
 rCount (vlax-get-property myRs "RecordCount")
  )
  (setq loop T)
  (repeat rCount
    (setq item '()
   i    0
    )
    (repeat fCount
      (setq name (vlax-get-property Fields "item" (vlax-make-variant i)))
      (setq item (cons (vlax-variant-value (vla-get-value name)) item))
      (setq i (1+ i))
    )
    (setq lstName (cons (reverse item) lstName))
    (vlax-invoke-method myRs "moveNext")
  )
  (reverse lstName)
)

 

 楼主| 发表于 2006-11-18 08:12 | 显示全部楼层

谢谢楼上的朋友了!非常好用!

 

发表于 2006-11-20 20:54 | 显示全部楼层
好帖子。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-11 17:04 , Processed in 0.162687 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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