为什么在SQL里面写的查询语句,在VB里面执行,查询到的记录数是-1,困惑阿?
比方说在SQL里面执行:"select * from table1 where id=1"
得到一条记录,
但是在VB里面同样的执行这条语句,用ADO对象链接的SQL Server,
但是得到的记录数是-1,怎么会是这样呢?
代码应该是没有写错的,以前也没有这种情况,
现在就是搞不清白,RecordCount怎么会是-1呢,要是没有查到,也应该是0啊,
问题点数:50、回复次数:8Top
1 楼txlicenhe(马可)回复于 2003-09-03 12:04:52 得分 7
代码?Top
2 楼txlicenhe(马可)回复于 2003-09-03 12:05:42 得分 7
1:你的VB代码?
2:转VB版Top
3 楼getgoodgift(一心一意)回复于 2003-09-03 12:10:11 得分 0
我在VB版里面有这个帖子
想确定是不是跟SQL有关,Top
4 楼aierong()回复于 2003-09-03 12:36:16 得分 7
这是vb的问题,我遇到过.
可能是你的记录集的问题,你试试下面代码
sql="select * from table1 where id=1"
rs.Open sql, con, adOpenKeyset, adLockOptimistic
rs.CursorLocation=adUseClient
在ADO里面RecordCount不稳定,不推荐用,你要记录的数量可以这样
sql="select count(*) from table1 where id=1"
rs.open sql,con
记录数量=rs.Fields(0)
Top
5 楼sdhdy(大江东去...)回复于 2003-09-03 12:46:49 得分 7
'把连接这样设,用客户端游标
'cn为连接
CN.CursorLocation = adUseClientTop
6 楼mjhnet(天涯沦落人)回复于 2003-09-03 12:52:23 得分 7
这纯粹是vb的问题
cn.CursorLocation = adUseClient
Top
7 楼yoki(小马哥--鬓微霜,又何妨)回复于 2003-09-03 13:20:25 得分 7
rs.movefirst
然后再查看recordcountTop
8 楼zjcxc(邹建)回复于 2003-09-03 13:53:26 得分 7
应该设置connection对象的属性:
conn.CursorLocation = adUseClient
但VB的recordcount的值不是十分稳定,设置了后,大部分情况下可以得到记录数,有时还是不能取得记录数.
Top
9 楼zhbname(赤澜)回复于 2003-09-03 15:30:12 得分 1
upTop




