![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ODAC - использование TOraQuery [D5, D6, Oracle]
P&$ © (2002-07-19 13:42:00)У кого есть опыт работы с ODAC, помогите.
Начал осваивать ODAC, использую TSmartQuery - при удалении/изменении все в порядке,
а вот при вставке новой записи начинаются проблеммы -
в базе есть триггер генерящий ключевое поле обрабатываемой таблицы, а (из документации по ODAC)
TCustomOraQuery при добавлении (если указана KeySEQUENCE и KeyField) генерит запрос вида
select SEQUENCE_for_kod.NextVal into :new.kod from Dual ;
дублируя триггер, в результате значение поля в базе увелич. на 2 а в приложении на 1 - error!
Если удалить триггер все работает, но он нужен для других приложений!
Если не указывать KeySEQUENCE и KeyField то перед Postом значение KeyField не определено
и как его вытащить не знаю. (можа где-то refresh дать, но где?)
Посоветуйте как быть в данном случае и вообще буду благодарен за любые рекомендациипо работе с ODAC
PSERG (2002-07-19 17:08:00) [1]Можешь использовать returning в SQL запросе!
Black Cat (2002-07-19 16:25:00) [2]
> (можа где-то refresh дать, но где?)
1)Пишешь в SQLRefresh типа:
select * from TABLE_NAME where rowid=:old_rowid
2) в RefreshOption выставляешь roAfterInsert в True
3) В самом SQL выбираешь rowid
Этого хватит при наличии триггера. Удачи!