Subject | Invalid Blob ID |
---|---|
Author | colinriley666 |
Post date | 2003-08-27T11:09:36Z |
I have a TIBOQuery, cachedUpdates = True.
SQLs are too big to list here, but contain various blobs.
The user can via the user interface change the contents of any fields
including the blobs, and has the option to commit changes or rollback.
When the user commits, the following code is executed:
with fDataset do begin
try
if state in [dsEdit, dsInsert] then
Post;
DisableControls;
if UpdatesPending then begin
result := true;
ApplyUpdates;
IB_Transaction.Commit;
CommitUpdates;
IB_Transaction.Activate;
end;
finally
EnableControls;
end;
end;
If the user modifies a non-blob field and commits, all works fine. If
he repeatedly does this, all is ok.
If the user modifies a blob field and commits, all works fine.
If he then modifies the same blob field and commits, again all is ok.
Here comes the bad news ...
If the user has modified a blob and commited, and then modifies any
field except the blob and commits, the "ApplyUpdates" fails
with "Invalid Blob Id".
Any ideas?
regards, Colin
SQLs are too big to list here, but contain various blobs.
The user can via the user interface change the contents of any fields
including the blobs, and has the option to commit changes or rollback.
When the user commits, the following code is executed:
with fDataset do begin
try
if state in [dsEdit, dsInsert] then
Post;
DisableControls;
if UpdatesPending then begin
result := true;
ApplyUpdates;
IB_Transaction.Commit;
CommitUpdates;
IB_Transaction.Activate;
end;
finally
EnableControls;
end;
end;
If the user modifies a non-blob field and commits, all works fine. If
he repeatedly does this, all is ok.
If the user modifies a blob field and commits, all works fine.
If he then modifies the same blob field and commits, again all is ok.
Here comes the bad news ...
If the user has modified a blob and commited, and then modifies any
field except the blob and commits, the "ApplyUpdates" fails
with "Invalid Blob Id".
Any ideas?
regards, Colin