这两天经常有朋友问我,为什么我的数据库有记录,但RecordCount=-1,到底是什么原因导致的呢?RecordCount=-1问题如何解决呢,下面请看系统圣地给大家详解一下吧。
 
 
 
  
 
   一般人们都使用以下两种方法来执行SQL语句:
 
  
 
   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("属性名")进行测试是否支持该属性。