从1到N从表中依次读取记录,每读一条执行一段程序。

解决方案 »

  1.   

    var
      i:integer;
      s:string;
    begin
      with adoquery1 do
      begin
        i:=1;
        first;
        repeat
          i:=i+1;
          s:=fieldbyname('xxx').asstring;//s是你读取的记录
          //这里执行你指定的程序
          next;
        until
          i=n;
      end;
    end;
      

  2.   

    while not adoquery1.eof do
    begin
    ....  //  <-你要处理的
    adoquery1.next;
    end;
      

  3.   

    while not adoquery1.eof do 
    begin 
    //例-------------------------
      edit1.text:= adoquery1.fields[0].asstring;
      ...
    //例-------------------------
    adoquery1.next; 
    end; 
      

  4.   

    with adoquery do
    begin
      Close;
      SQL.text := 'select * from table';
      Open;
      First;
      while not Eof do
      begin
        //Do anythings at here
        Next;
      end;
    end;
      

  5.   


    代码只是做个例子,里面只读取了一个字段,如果你的一条记录有多个字段,就多读取几次,不影响整段代码的使用。本段代码采用了repeat until循环,变量从1开始,一直循环到n结束,从而循环读出你所指定的记录
      

  6.   

    while not adoquery1.eof do  // 没读取完就不停的读