用ADOQuery连接的数据库,举个例子说一下:
现在收到数据后自动添加到数据库里,因为需要的可能是n条数据,但是只收到了i条数据,并且是收到一条后立刻添加到数据库里,接收完了以后做判断如果i<n,那么就把刚刚添加到数据库的这i条新记录统统删除,重新再调数据。
问题:现在假设i<n,那么用什么语句能把刚刚添加的i条记录删除掉呢?可否写出代码?谢谢大家!!!

解决方案 »

  1.   

    把光标指在最后一条记录上,用下面代码就可以了:
    for i:=ADOQuery1.RecordCount downto ADOQuery1.RecordCount-i+1 do
      ADOQuery1.Delete;
      

  2.   

    可利用ADO控件的缓存特性实现:
    设置ADOQuery1的LockType属性为ltBatchOptimistic;procedure TForm1.Button1Click(Sender: TObject);
    begin
      if i=n then ADOQuery1.UpdateBatch
             else ADOQuery1.CancelBatch;
    end;