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

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

Использование транзакций в IB [IB6.x]


Страницы:   1 2

Term ©   (2003-10-02 11:29:00) 

Вопрос такой как правильно использовать транзакции в IB, так как тут как я понял есть определённые тонкости:
в литературе у меня написанно так:

DataBase1.StartTransaction;
try

append
.....
post

DataBase1.Commit;
except
DataBase1.RollBack;
end;


мастера покажите примерчик как оно должно быть, с правильным использованием компонентов TIBDataBase, TIBTransaction, TIBDataSet.


MsGuns   (2003-10-02 12:13:00) [21]

Вообще умные люди советуют транзакции разделять. Как именно, зависит от задач и логики проекта, но упрощенно схема такова

1. Транзакция A - все, что отображается
2. Транзакция B - все изменения (TIBSQL) на клиенте как целостная логически завершенная порция (например, при удалении документа сначала удаление из фактуры, затем из таблицы заголовков)
3. Транзакция C - все вспомогательные инф.запросы, не влияющие на отображение (репорты, запросы на неотображаемые таблицы и т.д.)


Term   (2003-10-02 12:10:00) [22]

спасибо буду пробывать


Vlad   (2003-10-02 12:07:00) [23]

if not ibtransaction.active then ibtransaction.StartTransaction
......
ibtransaction.commit
....
ibtransaction.rollback


Term   (2003-10-02 12:02:00) [24]

ну да вот именно что для БДЕ, а как для IB???
так как если
TIBDataBase1.StartTransaction
вываливается исключение что Transancion Started
и как сделать правильную обработку, я понимаю что задачка тривиальная, но я новичёк в IB


Term   (2003-10-02 12:00:00) [25]

ну ктонить.... хелп


Vlad   (2003-10-02 12:00:00) [26]

Ну для такой задачи особых тонкостей я не вижу.
Все стандартно: Открыл транзакцию, затем провел изменения в таблицах, подтвердил транзакцию. В случае ошибки - откатил транзакцию.
В твоем примере все верно написано, только про BDE по-моему.


Term   (2003-10-02 11:38:00) [27]

ну в двух словах электронный документооборот, это вообще,
а на данном этапе нужно сохранять данные в несколько связанных таблиц, при этом соотв. чтобы соблюдались условия ссылочной целостности, ну и соотв, нужно использовать транзакции, а в их использование в IB есть определенные тонкости, вот я и спрашиваю как сделать правильно...
Использую компоненты TIBDataBase, TIBTransaction, TIBDataSet


Vlad   (2003-10-02 11:32:00) [28]

Задача то какая, если не секрет ?


Страницы:   1 2

Наверх

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