我使用的TQuery进行查询,
sql:='select * from biaoming';
query1.active:=false;
query1.SQl.Clear;
query1.Sql.Add(sql);
query1.open;
那我现在如何获取读到的记录数,我使用RecordCount一直返回-1;
请高手指教,有什么好的办法获取其记录数。

解决方案 »

  1.   

    如果你得到recordcount只是为了循环那建议你用
    while not query1.eof do
      begin
       ......
       query.next;
      end;
      

  2.   

    要不就用sql:='select Count(*) as RecordCount from biaoming';
    要不就用循环累计,如果你用的是微软的数据库,就应该可以用ADOQuery1.RecordCount了。
      

  3.   

    select count(*) from table
      

  4.   

    可以用recordcount查询记录数。但最好还是少用,因为有的时候记录不准确!!建议你用一楼的办法!!
      

  5.   

    with query1 do
    begin
      Close;
      sql.text:='select count(*) AS ACount from biaoming';
      Open;
      Count:=FieldValues['ACount'];
    end;
      

  6.   

    sql:='select * from biaoming';
    query1.active:=false;
    query1.SQl.Clear;
    query1.Sql.Add(sql);
    query1.open;
    //
    Query1.Last;
    ShowMessage('记录数:'+IntToStr(Query1.RecordCount));
      

  7.   

    sql:='select * from biaoming';
    query1.active:=false;
    query1.SQl.Clear;
    query1.Sql.Add(sql);
    query1.open;你在query1.的open下面先写一句:
    query1.first;
    然后在查recordcount就可以查到记录数了,如果还不行就是你的升级包没有安装!