下面是我在DBGridEh界面上实现多行下载的代码:单步执行的时候qy2.fieldbyname('bgwj1').asstring和qy2.fieldbyname('bgwj2').asstring总是显示的是第一条记录的数据,for i:=0 to booklist.count-1 do进行了循环,为什么还显示第一条的数据?procedure Tcxsjsp.N13Click(Sender: TObject);
var str,stra:Tmemorystream;
    i,i1:integer;
    booklist:TBooklistEh;
    bookstr:Tbookstr;
begin
  booklist:=dbgrideh2.SelectedRows;
  for i:=0 to booklist.count-1 do
    begin
      qy2.book:=booklist[i];
      str:=Tmemorystream.Create;
      str.Position:=0;
      stra:=Tmemorystream.Create;
      stra.Position:=0;
      Tblobfield(qy2.FieldByName('wjnr1')).savetostream(str);
      Tblobfield(qy2.FieldByName('wjnr2')).savetostream(stra);      savedialog1.filename:=qy2.fieldbyname('bgwj1').asstring;
      if SaveDialog1.Execute then
        str.SaveToFile(savedialog1.filename);      if (qy2.fieldbyname('bgwj2').asstring<>'') then
        begin
          savedialog2.filename:=qy2.fieldbyname('bgwj2').asstring;
          if SaveDialog2.Execute then
            stra.SaveToFile(savedialog2.filename);
        end;
      str.Free;
      stra.Free;
    end;
    showmessage('下载完毕');
end;