Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как транкзакцию организовать? [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]

Для локальных БД транзакций не существует...


Наверх

Титульная страница Поиск, карта сайта Написать письмо