cad和数据库连接,是个很有用的问题.最近实现了用visual lisp对access数据库的操作,包括配置数据库,读/写数据.
先看数据库:
名称:mc-sample.mdb,表名称:circle.共id,x,y,z,r四个字段.其中id为序号,x,y,z为圆心坐标,r为圆半径.
欲实现:从该数据库中取出所有记录,在cad中以相应参数画圆.
把文件mc-sample.mdb拷到autocad2004的支持文件夹中(例如,我的是c:/program files/auotcad2004/support/).然后新建rw.lsp,其代码如下:
(vl-load-com)
(defun c:loadcircle(/ dbfile conn connstring sql rs resultlist count i pn)
(setq dbfile (findfile "mc-sample.mdb")) ;设置数据库名称及路径
(Setq conn(vlax-create-object "ADODB.Connection")) ;引用ADO控件
(setq connstring (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" dbfile)) ;设置数据库连接字符串
(vlax-invoke-method conn "open" connstring "" "" -1) ;打开数据库连接
(setq sql "select [id],[x],[y],[z],