代码如下:(其中DataSet指向一个已经打开的数据集)
    with TADOQuery(DataSet) do
    begin
      SqlText := FieldByName('DataField').AsString;
      flm := GetCurID(Node);
      Filter := 'DataField' + ' Like '+  QuotedStr('Type');
      First;
      try
        while not Eof do
        begin
          Delete;
          Next;
        end;
        UpdateBatch;
      except
      end;
      EnableControls;
    end;
    with FDataOperation.FDataLink.DataSet do
    begin
      DisableControls;
      Filter := DataField + ' <> ' + QuotedStr('');
      First;
      while not Eof do
      begin
    CmbBox.Items.Add(FieldByName('DataField').AsString);
        Next;  //在这里发生错误
      end;
      EnableControls;
    end;
//错误信息是:“行句柄引用了一个己被删除的行或被标识未删除的行”