Query1.Active:=True;
Query1.Last;//!!!!!!!!!!!!
ShowMessage('RecordCount:'+IntToStr(Query1.RecordCount));

解决方案 »

  1.   

    尽量用sql 返回记录数 select count(*) from xxx如果用 楼上的方法,如果你的表足够大,比如有10万行,这个Query1.Last 可能要1分钟才能有结果
      

  2.   

    同意zhoutian618(秦失其鹿,天下共逐,唯胜者得鹿而割之)
      

  3.   

    recordcount只对本地数据库起作用,用 select count(*) from xxx where .......
      

  4.   

    recordcount对ms sqlserver 是有作用的,一直在用.当然是在dataset.active=True下.
    指的是dataset里的记录数,不是实际表的记录数,除非是select * 没有where.
      

  5.   

    recordcount是dataset接收到的数据,在分布式中的效果更加明显;
    如果用来计算等作为重要数据处理,楼主还是用select语句安全点