我用一SQL语句对数据查询数据库中的某个表,竟然返回这样的结果,
记录为负一条,
但是数据库实际有又有这样的记录,并且我可以使用这些记录,
怪,
sql语句如下,请GGJJ帮忙看看
dim kcrs as adodb.recordset
sql = "SELECT rkb_barcode, SUM(rkb_canck) AS canck FROM rkb " & _
"WHERE (rkb_ckstate = 0) AND (rkb_cxstate = 0) AND (rkb_barcode = '" & Text3 & "') GROUP BY rkb_barcode"
Set kcrs = getRS(sql)

解决方案 »

  1.   

    如果 ADO 无法确定记录数目或者提供者或游标类型不支持 RecordCount,该属性将返回 -1。
    对于仅向前游标,RecordCount 属性将返回 -1;对于静态或键集游标,将返回实际计数;而对于动态游标,则返回 -1 或实际计数,这取决于数据源。
    如果 Recordset 对象不支持近似定位,此属性可能会由于必须对所有记录进行检索和计数以返回精确的 RecordCount 值而严重消耗资源。
      

  2.   

    DIM Count as long
    Set kcrs = Conn.execute(sql,Count)text1.text=Count其中的 Count 是值传递
      

  3.   

    那就是要是这个count 要我用函数返回的吗
      

  4.   

    你用记录集的Filter方法逐级的查询,
    看看是不是因为其中某些原因,
    导致查不出来.
      

  5.   

    conn.CursorLocation = adUseClient'conn连接
      

  6.   

    在ADO 1.5版本时当我们用adOpenForwardonly 游标类型打开记录集时,RecordCount属性返回 -1,在ADO 2.0, 2.1和2.5版本时用adOpenDynamic类型也会发生这种情况。因此如果要访问记录集的RecordCount属性,请使用adOpenKeyset 或 adOpenStatic作为Server端的游标或使用客户端的游标打开记录集。另外请注意使用的LockType,有些LockType会强制改变游标类型。如果数据供给程序不支持你所设的游标类型,数据供给程序可能会使用一种相近的游标作为替换,也造成游标类型的改变,请同时参照数据供给程序的文档
      

  7.   

    用kcrs.movelast方法后,再取记录集的Recordcount属性即可取到真实记录数,简单易行.
      

  8.   

    可是我如果没有找到记录,将返回的是一个空的记录集,那样的话我用,kcrs.movelast编译器将报,这样可能不行吧
      

  9.   

    回复人: wei1027(猫1027) ( ) 信誉:100  2003-07-05 20:45:00  得分:0 
     
     
      conn.CursorLocation = adUseClient'conn连接
      
     
    感谢你的回答,我昨天使用这方法,已经成功了,
    回复人: hiker_lx() ( ) 信誉:100  2003-07-05 19:01:00  得分:0 
     
     
      如果 ADO 无法确定记录数目或者提供者或游标类型不支持 RecordCount,该属性将返回 -1。
    对于仅向前游标,RecordCount 属性将返回 -1;对于静态或键集游标,将返回实际计数;而对于动态游标,则返回 -1 或实际计数,这取决于数据源。
    如果 Recordset 对象不支持近似定位,此属性可能会由于必须对所有记录进行检索和计数以返回精确的 RecordCount 值而严重消耗资源。
      
     
    更感谢你告诉我这些,原来ado里还有这么多东西 ,谢谢,