查询语句:
select * from tmp where ymdht between '2006100101' and '200610312359'
数据表中明明有数据(ymdht字段为字符类型,12位),其它连接都正确,
执行  Rs.Open cSql, Cn, adOpenDynamic, adLockReadOnly
      nCord = Rs.RecordCount 后,为何返回的记录总数为-1
错在那里呀?

解决方案 »

  1.   

    RecordCount 属性
          指示 Recordset 对象中的记录数目。返回值返回 Long 值,指示 Recordset 中的记录数目。说明用 RecordCount 属性查找 Recordset 对象中的记录数目。如果 ADO 无法确定记录数目或者提供者或游标类型不支持 RecordCount,该属性将返回 -1。读取已关闭的 Recordset 的 RecordCount 属性将产生错误。如果 Recordset 对象支持近似定位或书签(即 Supports (adApproxPosition) 或 Supports (adBook) 分别返回 True),那么不管是否已被完全预置,此值都将是 Recordset 中的记录的确切数目。如果 Recordset 对象不支持近似定位,此属性可能会由于必须对所有记录进行检索和计数以返回精确的 RecordCount 值而严重消耗资源。Recordset 对象的游标类型将影响是否能确定记录的数目。对于仅向前游标,RecordCount 属性将返回 -1;对于静态或键集游标,将返回实际计数;而对于动态游标,则返回 -1 或实际计数,这取决于数据源。==========================================================而对于动态游标,则返回 -1 或实际计数,这取决于数据源
      

  2.   

    查询字符串的语句这样写有错误吗?between 能否对字符串起作用啊。
      

  3.   

    查询字符串没问题,上面的回复看了吗?
    你这样试试不就知道了
    Rs.Open cSql, Cn, adOpenStatic, adLockReadOnly
      

  4.   

    游标指这个吗?Rs.CursorLocation = adUseClient
      

  5.   

    游标指Open方法的第三个参数,晕倒,哈哈