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

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

IBExpress и транзакции. [D6, IB6.x]


Igor_ ©   (2002-08-26 12:54:00) 

Есть компонент TIBDatabase и два компонента TIBTransaction.
Т.к. для компонентов IBExpress транзакция начинается автоматом, то
один TIBTransaction Trn_Sel я использовал для отображения данных в DBGrid-ах
(с использованием IBQuery) поставил DefaultAction = TACommitRetaining
и IdleTimer = 1000.
Второй TIBTransaction Trn_Exec использовал для добавления и изменения данных
(никаких его свойств не изменял).
Строю запрос типа INSERT INTO ....
он проходит в рамках явной транзакции Trn_Exec

Trn_Exec.StartTransaction;
Query.ExecSQL;
Trn_Exec.Commit;

Все происходит без ошибок, но после выполнения запроса
изменения не отображаются в DBGrid, это происходит только после
того, как перезапустишь программу.

(Это при попытке Insert в таблицу, а при Update вообще не хочет данные
обновлять, даже после перезапуска программы).

Помогите пожайлуста, что я делаю не так?


Alexandr   (2002-08-29 07:23:00) [1]

ну вот видишь


Igor_   (2002-08-28 13:48:00) [2]

Запрос я переоткрывал. А за ReadCommited спасибо, помогло.


Alexandr   (2002-08-28 07:59:00) [3]

дык запрос-то надо переоткрывать...
ну или хотябы refresh делать для изменяемой записи, после изменения.
Кстати транзакция, в которой идет отображение данных должна быть ReadCommited.


Igor_   (2002-08-27 14:06:00) [4]

-


Наверх

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