wilderland
Member
In our application we will delete a Record in a TOracleDataSet.
In the AfterDelete event we start a skript correct other records, so are all record always in the right order.
Our appliction should also delete delete a couple of record, when we do that one after the other, we got the error "Record changed by another user".
What can we do ?
The table:
CREATE TABLE lis_formular_merkmale
(position NUMBER(38) NOT NULL,
lis_merkmal_id NUMBER(38) NOT NULL,
lis_form_id NUMBER(38) NOT NULL)
ALTER TABLE lis_formular_merkmale
ADD CONSTRAINT pk_lis_formular_merkmale PRIMARY KEY (lis_merkmal_id, lis_form_id)
The output of the OracleMonitor
04:49.967 00:00.010 Query.Execute savepoint DOA__LOCKPOINT
04:49.977 00:00.060 Query.Execute (1 record processed) select * from LIS_FORMULAR_MERKMALE where rowid = :doa__rowid for update nowait
04:50.037 00:00.160 Query.Execute (1 record processed) delete from LIS_FORMULAR_MERKMALE where rowid = :doa__rowid
04:50.207 00:00.091 Query.Execute (1 record processed) update LIS_FORMULAR_MERKMALE set Position = Position -1 where POSITION >
os and LIS_FORM_ID = :Form
04:50.448 00:00.001 Query.Execute savepoint DOA__LOCKPOINT
04:50.448 00:00.010 Query.Execute (1 record processed) select * from LIS_FORMULAR_MERKMALE where rowid = :doa__rowid for update nowait
04:50.458 00:00.020 Query.Execute rollback to savepoint DOA__LOCKPOINT
04:50.488 00:00.001 Query.Execute rollback to savepoint DOA__LOCKPOINT
P.S. it seems that the RefreshOptions doesn't work.
In the AfterDelete event we start a skript correct other records, so are all record always in the right order.
Our appliction should also delete delete a couple of record, when we do that one after the other, we got the error "Record changed by another user".
What can we do ?
The table:
CREATE TABLE lis_formular_merkmale
(position NUMBER(38) NOT NULL,
lis_merkmal_id NUMBER(38) NOT NULL,
lis_form_id NUMBER(38) NOT NULL)
ALTER TABLE lis_formular_merkmale
ADD CONSTRAINT pk_lis_formular_merkmale PRIMARY KEY (lis_merkmal_id, lis_form_id)
The output of the OracleMonitor
04:49.967 00:00.010 Query.Execute savepoint DOA__LOCKPOINT
04:49.977 00:00.060 Query.Execute (1 record processed) select * from LIS_FORMULAR_MERKMALE where rowid = :doa__rowid for update nowait
04:50.037 00:00.160 Query.Execute (1 record processed) delete from LIS_FORMULAR_MERKMALE where rowid = :doa__rowid
04:50.207 00:00.091 Query.Execute (1 record processed) update LIS_FORMULAR_MERKMALE set Position = Position -1 where POSITION >

04:50.448 00:00.001 Query.Execute savepoint DOA__LOCKPOINT
04:50.448 00:00.010 Query.Execute (1 record processed) select * from LIS_FORMULAR_MERKMALE where rowid = :doa__rowid for update nowait
04:50.458 00:00.020 Query.Execute rollback to savepoint DOA__LOCKPOINT
04:50.488 00:00.001 Query.Execute rollback to savepoint DOA__LOCKPOINT
P.S. it seems that the RefreshOptions doesn't work.