dbExpress bug? Exception: "Catastrophic Failure"


2004-01-08 04:18:17 AM
delphi204
[Delphi 7, Oracle 9, Windows XP.]
I set up a TSqlConnection and a TSqlQuery.
The select statement was
select *
from item
where itemid = 10
for update of item.itemid nowait
This is one way of locking records in Oracle. If the record(s) is/are
not locked, then the select statement succeeds and results are returned.
If the record(s) is/are locked, then the select statement returns
immediate with Oracle code 00054 - resource busy and acquire with NOWAIT
specified.
When I execute this statement from TSqlQuery, I get an exception
Catastrophic Failure
When I remove the 'for update' clause, it runs fine (but of course, it
won't lock the record).
How can I explicitely lock records from Delphi 7/dbExpress?