query1.first;
query1.last
在执行你的语句可能可以
还不行的话
first
 while not eof
   next
  inc()
自己统计了

解决方案 »

  1.   

    试试:
     创建一个计算字段 aa
     onCalcFields 事件中
     query1.fieldsbyname('aa').asinteger := query1.recno
      
      

  2.   

    最好不用这种方式,大型数据库的recordcount可能有错,在delphi的帮助中有说明的。
    建议用while not Query.Eof do
      

  3.   

    workbook:=eclapp.workbooks.open(xlsfilename);  
    for i:=1 to dm1.query2.RecordCount do  { Paradox数据库可以执行,但SQL Server不行,dm1.query2.RecordCount+1应如何改?}  
    begin  
    eclapp.cells(i,1):=dm1.query2.FieldByName('dwname').asstring;  
    workbook.save;  
    dm1.query2.Next;  
    end;  
    workbook.save;