ClientDataSet1.Last;然后往下滚啊ClientDataSet1.Prior;procedure TForm1.Button10Click(Sender: TObject);
var
  StrSQL,Todata:string;
begin
  StrSQL:='select * from Output';
  ClientDataSet2.CommandText:=StrSQL;
  ClientDataSet1.open;
  ClientDataSet1.Last;
  while not ClientDataSet1.eof do
  begin
      if ClientDataSet1.Fields[9].AsBoolean = True then
       begin
       ClientDataSet1.Edit;
       ClientDataSet1.FieldByName('运维班核对人').AsString:=loginForm.edit2.Text;
       ClientDataSet1.Post;
       end;
       if ClientDataSet1.Fields[11].AsBoolean = True then
       begin
       Todata:=datetostr(Date());
       ClientDataSet1.Edit;
       ClientDataSet1.FieldByName('监控核对人').AsString:=loginForm.edit2.Text;
       ClientDataSet1.FieldByName('核对日期').AsString:=Todata;
       ClientDataSet1.Post;
       end;
        if ClientDataSet1.Fields[9].AsBoolean = True  then
        begin
        if ClientDataSet1.Fields[11].AsBoolean = True then
          begin
          ClientDataSet2.Open;
          ClientDataSet2.Append;
          ClientDataSet2.FieldByName('序号').AsString:=ClientDataSet1.FieldByName('序号').AsString;
          ClientDataSet2.FieldByName('点号').AsString:=ClientDataSet1.FieldByName('点号').AsString
          ClientDataSet2.ApplyUpdates (0);
          ClientDataSet1.Delete;
          ADOquery2.Close;
          ADOquery2.SQL.Clear;
          ADOquery2.SQL.Add('select * from Input');
          ADOquery2.Open;
          with DataSetProvider1.DataSet.FieldByName( '序号' ) do
             ProviderFlags := ProviderFlags + [ pfInKey ];
          ClientDataSet1.ApplyUpdates (0);
          end;
        end;
        ClientDataSet1.Prior;
  end;
end;