adoquery 下移一个记录的有关问题,帮小弟我解决下别拖到明年啊

adoquery 下移一个记录的问题,帮我解决下别拖到明年啊!
这段代码运行的时候没问题, 就是 adoquery1 不下移一行 , 我下面加的 有adoquery1.next;高手帮忙解决下!  
   
for i:=1 to stringgrid1.RowCount do
  begin
  adoquery1.Close;
  adoquery1.sql.Clear;
  adoquery1.sql.Add('select KFZT,KFH,RQ from KF where KFZT="是" order by KFH');
  adoquery1.open;
   
  with adoquery2 do
  begin
  close;
  sql.Clear;
  sql.Add('select XM,KFH,ZJHM,DJ,RZRQ,YFK,YJLD,BZ from KRXX where KFH=:kfh and RZRQ between :rq and :dqrq');
  Parameters.ParamByName('kfh').Value:=adoquery1['KFH'];
  Parameters.ParamByName('rq').Value:=adoquery1['RQ'];
  Parameters.ParamByName('dqrq').Value:=formatdatetime('',now);
  open;
  end;

  stringgrid1.cells[0,i]:=adoquery2['XM'];
  stringgrid1.cells[1,i]:=adoquery2['KFH'];
  stringgrid1.cells[2,i]:=adoquery2['ZJHM'];
  stringgrid1.cells[4,i]:=adoquery2['DJ'];
  stringgrid1.cells[5,i]:=adoquery2['RZRQ'];
  stringgrid1.cells[8,i]:=adoquery2['YFK'];
  stringgrid1.cells[10,i]:=adoquery2['YJLD'];
  stringgrid1.cells[11,i]:=adoquery2['BZ'];
  adoquery1.Next;
  end;

  end;
  end;

------解决方案--------------------
adoquery1.Close;
adoquery1.sql.Clear;
adoquery1.sql.Add('select KFZT,KFH,RQ from KF where KFZT="是" order by KFH');
adoquery1.open;
应该在循环前,然后才是
for i:=1 to stringgrid1.RowCount do
begin
。。。。