3、先执行 rs.MoveLast,再取记录数 rs.RecordCount 一、现象:ADO的RECORDSET的RECORDCOUNT属性总是为-1 当在服务器端请求RecordCoun时会返回-1。这是因为ActiveX Data Objects (ADO) 2.0中的CursorType是adOpenForwardonly或者adOpenDynamic。如果是ADO 1.5,只发生在cursortype是adOpenForwardonly的时候。如果使用OLEDB ...
Connection.Execute 中游标又继承该设置,所以Rs.RecordCount=-1 只要在打开连接之前将游标库改成客户端游标Conn.CursorLocation = adUseClient 就可以正确得到记录数了 第二种是RecordSet对象打开一个记录集,由于其默认的记录集游标也是服务器游标Rs.CursorLocation = adUseServer 所以返回Rs.RecordCount=-1, 应该把服务器...
查询返回的recordcount=-1的解决办法 --- 有时,查询返回的recordcount=-1,总是-1,即使有记录也是这样,导致程序无法根据recordcount结果做出正确的反应。 原因不明,解决方法是:先定位到查询的开始,然后定位到最后,再判断recordcount。 如下: With dm.QR_ENNSHD_020 do begin close; ParamByName('NO_STD_NO').As...
conn,1,2 因为conn后第一个数字是1表示指针只能往前,3表示自由指针 使用RecordCount属性可确定Recordset...
或许有些站长会遇到使用rs.recordcount有时返回是-1或1或0的情况,无论如何都无法取得记录数,下面找到几种解决办法,可参考试用解决: 1,使用rs.open sql,Conn,1,1标准模式打开数据库,不可用快捷方式如set rs=conn.execute等,其中rs表示数据集recordset sql表示sql语句 conn表示数据连接connection对象 1,1表示静态...
所以返回Rs.RecordCount=-1, 应该把服务器游标改为客户端游标, Rs.CursorLocation = adUseClient Rs.Open SqlStr,Conn,CursorType,LockType rs.cursortype 光标类型 recordcount 属性 ForwardOnly 0(默认) 返回-1 Keyset 1 正确的记录数 Dynamic 2 -1或不正确的记录数,依数据源而定 ...
你应当使用这种模式来打开存取数据库的记录集:rec.open strSQL,conn,1,1 其中的 strSQL 是操作数据库的 SQL 语句; conn 是联接数据库的 Connection 变量。
因为conn后第一个数字是1表示指针只能往前,3表示自由指针 使用RecordCount属性可确定Recordset对象中记录的数目。ADO无法确定记录数时,或者如果提供者或游标类型不支持RecordCount,则该属性返回–1。读已关闭的Recordset上的RecordCount属性将产生错误。如果Recordset对象支持近似定位或书签(即Supports(adApprox...
rs.cursortype 光标类型 recordcount 属性 ForwardOnly 0(默认) 返回-1 Keyset 1 正确的记录数 Dynamic 2 -1或不正确的记录数,依数据源而定 Static 3 正确的记录数 所以Rs.CursorLocation = 3 可用recordset.support("属性名")进行测试是否支持该属性。
我从不用RECORDSETCOUNT=0判断是否为空! 伊冰山的意见: 如果ADO的RECORDCOUNT为-1,只要设置CursorType参数为2 or 3就行啊。 此问题由李海回答。 附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query。