mccad你好! 你的在VLISP中使用数据库(一)通过数据库保存的坐标画圆这篇文章我仔细拜读后有几个问题想问问你 你的说明:本例子是通过SQL查询的方式,直接使用Execute方法来执行查询语句,再经过GetRows直接得到结果的数组,再经过转换变成了LISP中的表格式使用。 由于转换出来的表格式刚好与数据库相反(即本来应该是每行为一个记录,但在表中却是每列一个记录),所以最后的处理比较麻烦一些。 也就是相关的 (setq resultlist (vlax-safearray->list (vlax-variant-value (vlax-invoke-method rs "GetRows" -1))));将返回值变成列表 (setq count(vl-list-length (car resultlist)));查询列表长度,即记录数
这两行代码,我的逻辑把返回值resultlist理解成这种形式((ID1,X1,Y1,Z1,R1)(ID2,X2,Y2,Z2,R2)...) 但是从你的代码来看返回值resultlist应该是这种形式((ID1,ID2,...)(X1,X2,...) (Y1,Y2,...) (Z1,Z2,..) (R1,R2,...)) 是这样吗?
所以我想你能不能稍微详细解释一下这两行代码?也就是GetRows方法返回的结果形式. 还有1个问题就是象GetRows这些方法函数我该去哪查阅相关资料呢? 是怎么把这些方法移植到LISP语言中? 谢谢! |