编写ActiveX EXE的时候碰到的一个奇怪问题,高手进!

yhwebus 2003-10-28 07:03:53
在ActiveX EXE里面我要进行数据库操作,已经引用了ADO

Connection对象mConn是作为参数从调用该ActiveX EXE的工程中传递进来的
在ActiveX EXE 执行 mConn.Execute Sql 没有问题

但是我在函数里面创建Recordset对象rs,执行rs.open sql ,mConn, adOpenKeyset, adLockOptimistic ;不管怎样,执行到这一步的时候都会报错"数据类型不匹配";我检查过不是sql语句的问题,也不是游标和锁定类型选择的问题 ,相同的语句直接放到标准Exe工程里面是可以运行的

不知道在ActiveX ExE里面是不是不能执行Recordset的操作,还是其它什么原因,各位碰到过类似的问题吗???????
...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhwebus 2003-10-29
  • 打赏
  • 举报
回复
又经过了1个小时的调试,最后改成了这样
rst.Open sSQL, mConDB.ConnectionString, adOpenStatic, adLockReadOnly
总算通过了,问题还是出在Open的时候,同new的过程无关
以前的 rst.Open sSQL, mConDB, adOpenStatic, adLockReadOnly始终不能调试通过

mConDB为Connection对象,是外面的工程作为参数传递进来的,rst是在ActiveExe里面创建的
看来,感觉好想是Connection 对象不能在两个进程间传递(或共享),用传值或者传引用的方法都不行.

有哪位大侠能够把这底层点的东西说清楚吗????
笑对最好 2003-10-29
  • 打赏
  • 举报
回复
Try
dim rec as ADODB.Recordset
Set rec = CreateObject("ADODB.Recordset")
jason4989 2003-10-29
  • 打赏
  • 举报
回复
??rst??
yhwebus 2003-10-29
  • 打赏
  • 举报
回复
sorry,我重新调试了一下
是在set rst = new ADODB.Recordset的时候出错的
报的是 "类型不匹配"

我引用 Microsoft ActiveX Data Objects 2.5 Library和
Microsoft ActiveX Data Objects 2.1 library都报错
seraph2 2003-10-28
  • 打赏
  • 举报
回复
我用的和你用的是一样的啊,但没有出现任何问题啊!会不会是最简单的错误呢?就是说----不该犯的错误!你用的是OLE连接方式吧?使用ADO控件试一下,是否有同样的问题,如果没有,那就是你程序的毛病了!
aiur2000 2003-10-28
  • 打赏
  • 举报
回复
检查接参数的函数,有没有类型错误的。
一般报的错就是报错的原因,你从这方面下手,分析数据库和程序。
flc 2003-10-28
  • 打赏
  • 举报
回复
没有
关注

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧