Icon View Incident Report

Serious Serious
Reported By: Michael Charalabos
Reported On: 1/19/2010
For: Version 2.03 Build 7
# 3134 Deleting Rows with an Active Filter or Range Can Cause #100 "Buffers Corrupt" Error

The following code is unable to delete records and produces a #100 error.

 qrCPM.Open;

  if qrCPM.RecordCount > 0 then
  begin
    qrCPM.First;

    qrCPD.Open;
    qrCPD.Filtered := True;

    while not qrCPM.Eof do
    begin
      qrCPD.Filter := 'ADate = Date ' + QuotedStr(FormatDateTime('yyyy-mm-dd',
        qrCPM.FieldByName('ADate').AsDateTime));

      if qrCPD.RecordCount > 0 then
      begin
         qrCPD.First;

         while not qrCPD.Eof do
           qrCPD.Delete;
      end;

      qrCPM.Delete;
    end;
  end;

  qrCPM.Close;
  qrCPD.Close;



Comments Comments
The problem was caused by a buffer being double-pinned, which would subsequently cause a write error because the buffer flushing could not complete.


Resolution Resolution
Fixed Problem on 1/21/2010 in version 2.03 build 8


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image