有一查询语句sql="select distinct city from cutsomers"
在SQL server 中 能够执行找到一条记录
在程序中执行
dim rst as adodb.recordset
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
也能够找到一条记录,
但是rst.recordcount=-1
这是为什么呢?
请各位老大帮帮忙!
急!
在SQL server 中 能够执行找到一条记录
在程序中执行
dim rst as adodb.recordset
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
也能够找到一条记录,
但是rst.recordcount=-1
这是为什么呢?
请各位老大帮帮忙!
急!
解决方案 »
- vb发送16进制,请大虾门踢教
- 如何用VB6.0修改文本第一行数据和在固定行中间增加同样的字.
- 哪位能解释http://218.11.76.25/dcount.asp?ssnum=11224348在服务器端的存放路径
- 请版主帮忙找一些sqldmo处理数据库事务复制的例子好吗?
- 我是菜鸟 电脑还被人跟
- 如何知道系统就要关机?
- 日文win98客户端如何访问中文sql server2000的数据库
- 在EXCEL中如何实现分两上SHEET打印!?
- 呵呵,你会发现,可以就这样轻易地赚到了50分,如果你肯进来····
- VB难题求解,高手快进来看看啊!
- VB6在2008年以后微软不再支持它。不知道VB2005如何,有没有前途?
- 请高手指点思路,设计一个小软件!
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
'先
rst.movelast
'再来取
rst.recordcount
Set Rs=Conn.Execute(SqlStr)
和
Set Rs=Server.CreateObject(“ADODB.RecordSet“)
Rs.Open SqlStr,Conn,CursorType,LockType (RecordSet对象方法请看这里)
由于默认的记录集游标是服务器游标,
Rs.CursorLocation = adUseServer
所以返回Rs.RecordCount=-1,
应该把服务器游标改为客户端游标,
Rs.CursorLocation = adUseClient
Rs.Open SqlStr,Conn,CursorType,LockType rs.cursortype 光标类型 recordcount 属性
---------------------------------------------
ForwardOnly 0(默认) 返回-1
Keyset 1 正确的记录数
Dynamic 2 -1或不正确的记录数,依数据源而定
Static 3 正确的记录数 所以Rs.CursorLocation = 3 可用recordset.support("属性名")进行测试是否支持该属性。 http://www.dwww.cn/new/20051128112149636.html
rs.CursorLocation = adUseClient
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockReadOnly'这样写看看
rst.recordcount
如果还出错的话,就看看你的rst.open这里是不是有了问题
调试一下看看
dim rst as adodb.recordset
Err.Clear
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockReadOnly'这样写看看
If Err.Number > 0 Then
MsgBox Err.Description
End If
rst.recordcount