![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как транкзакцию организовать? [D5, dBase, FoxPro]
Oleg_er © (2002-05-14 06:19:00)Я так понял, что чтобы начать транкзакцию нужно: Database.StartTransaction, но если тран-ция затрагивает несколько DB?
И вообще поясните, пожалуйста, можно ли организовать тр-цию на фоксовских таблицах? И как это сделать? Буду признателен, если исходниками кто-нить в меня кинет. Спасибо
Romkin (2002-05-14 11:09:00) [1]При использовании транзакций для DBase & Paradox через BDE
существуют ограничения: TDatabase.TransIsolation должно быть tiDirtyRead, только одна транзакция одновременно, и самое главное - для dBase можно менять в транзакции не более 100 записей, для PDox - не более 255. (Во всех таблицах)
А стоит ли?
По крайней мере для парадокса при превышении предела в 255 записей ошибки не выдается, просто при откате транзакции результат непредсказуем.
Рекомендую вместо транзакций использовать временные таблицы
Desdechado (2002-05-14 10:26:00) [2]транзакция как раз и предназначена для того, чтобы можно было менять много полей во многих строках многих таблиц и при невозможности вернуться в исходное состояние.
но, увы, для файл-сервера это неактуально :(
Turalyon (2002-05-14 09:25:00) [3]Некоторое подобие можно организовать, используя кешированные обнавления и как сказал Lord Warlock © структуру try ... except
Lord Warlock (2002-05-14 09:22:00) [4]для нескольких БД придется писать все ручками
в try except
Johnmen (2002-05-14 09:12:00) [5]Для локальных БД транзакций не существует...