Subject | IBO, updatable views and DataSnap |
---|---|
Author | kokok_kokok |
Post date | 2007-09-09T11:00:57Z |
I use a view formed by 2 tables. By default, it is read/only but I
added the corresponding triggers for insert, delete and update.
Then, in my project, I use TClientDataSet + IBO to access to view, I
can insert a register without problems, but when I delete it, IBO
returns "Record not found or changed by another user".
Studying the IBO source, I see that the problem is when IBO get
RowsAffected variable and arises the above exception because the
values is 0.
Firebird return 0 in the delete member of isc_info_sql_records call,
and then IBO interpret that the record has not been deleted. In
reality, the record has been deleted in the trigger because the view
is formed by 2 tables and I need to delete the record in both tables.
Is there a way to avoid this problem?
Thank you
added the corresponding triggers for insert, delete and update.
Then, in my project, I use TClientDataSet + IBO to access to view, I
can insert a register without problems, but when I delete it, IBO
returns "Record not found or changed by another user".
Studying the IBO source, I see that the problem is when IBO get
RowsAffected variable and arises the above exception because the
values is 0.
Firebird return 0 in the delete member of isc_info_sql_records call,
and then IBO interpret that the record has not been deleted. In
reality, the record has been deleted in the trigger because the view
is formed by 2 tables and I need to delete the record in both tables.
Is there a way to avoid this problem?
Thank you