SQL无法检查语法错误问题

solariver 2010-10-12 03:02:59
在 informix 或者Sybase中使用如下查询方式,在出现语法错误时,只是提示“不支持所需的属性”,不会提示哪里语法出错
Set Rst = New ADODB.Recordset
Rst.Open strSql, Cn, adOpenStatic


但是使用如下查询方式:

Set Rst = Cn.Execute(strSql)


就可以,但是矛盾的是上面的查询方式貌似不支持RecorderCount属性


是不是哪里设置错了?
...全文
152 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
solariver 2010-10-12
谢谢vbman2003,搞定了
回复
vbman2003 2010-10-12
vb是通过数据库引擎访问数据库的,是有不少数据库引擎不能完整的支持ADO所有功能
Set Rst = Cn.Execute(strSql) 这个方式方法下,如果没有指定,cn默认是服务器游标,而RecorderCount需要客户端游标,所以先请尝试设置cn.CursorLocation = adUseClient
回复
神马都能聊 2010-10-12


添加两个过程
Public Sub Init_Connection(cn As ADODB.Connection)
cn.CursorLocation = 3
End Sub

Public Sub Rs_Active_Connection(rs As ADODB.Recordset)

rs.CursorLocation = 3
rs.CursorType = 3

Set rs.ActiveConnection = cn
End Sub
'执行SQL语句前,加上这两句
call init_connection
call rs_active_connection(rst)
'执行SQL语句
rst.open strsql

回复
chinaboyzyq 2010-10-12
Set Rst = Cn.Execute(strSql)
Num = Rst.RecordCount
回复
lxq19851204 2010-10-12
没用过informix 或者Sybase的飘过......
回复
bancxc 2010-10-12
估计是 adOpenStatic这些参数的问题》
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2010-10-12 03:02
社区公告
暂无公告