有没有人碰到过这种情况阿?
郁闷死我了,调试了一个下午,也没搞明白
至少也应该是0啊,何况我数据库中还有一条记录呢
大人指点阿!!!!!!

解决方案 »

  1.   

    rs.CursorLocation = adUserClient
      

  2.   

    使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时,或者如果提供者或游标类型不支持 RecordCount,则该属性返回 –1。
    Recordset 对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount 属性将返回 -1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。
      

  3.   

    主要是你的游标类型不支持count
      

  4.   

    55555555告诉我怎么样取得正确的recordcount吧?!
      

  5.   

    我记得昨天rs.recordcount还能够取得记录的数目的
      

  6.   

    设置记录对象的CursorLocation 为adUserClient(本地游标)试试。
    rs.CursorLocation = adUserClient
    rs.open "select * from XXXX",cn,3,3
    rs.movelast
    rs.movefrist
    msgbox "共有:" & rs.recordcount & "条记录!!!"还有可能就是查询没有找到符合条件的记录。
      

  7.   

    嗯, 我的表确实没有定义主键
    必须要定义主键吗?
    另外,adopendynamic,adopenforwardonly,adopenkeyset,adopenstatic有关系吗?
    我设置的是adopenkeyset
      

  8.   

    使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。
        rs.LockType = adLockOptimistic
        rs.CursorLocation = adUseClient
        rs.CursorType = adOpenDynamic
        rs.Open strSql, cn