你是用什么Select的,如果你用的是query,则可以通过query.recordcount获得记录数。

解决方案 »

  1.   

    lotto兄:
       我是用QUERY,但记录数大时,值就变成-1了。
      

  2.   

    count:=0;
    query1.first;
    with query1 do
      while not eof do
        begin
           count:=count+1;
           next;
        end;
      

  3.   

    select count(*) from [你的表名] where [你的条件]
    返回的记录集就是
    select * from [你的表名] where [你的条件]
    的记录个数
      

  4.   

    recordcount的值为-1,并不是因为recordcount的值太大,而是你用的Select语句中包含有
    TBlobField类型的字段,当你不选择TBlobField字段时,返回的记录数是正确的。
      

  5.   

    Query.recordcount是有一个问题,就是如果在formcreate或者formshow的时候使用,返回的结果是1,但是在某个按钮上触发事件则Query.recordcount工作正常,所以建议你先将程序改到别的事件上运行,如果一定要在这个事件上编程的话,则用select count(*) from则可。