powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Научите правильно работать с FB & Delphi.
4 сообщений из 4, страница 1 из 1
Научите правильно работать с FB & Delphi.
    #32650339
Без_мозгов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под Виндой стоить FireBird 1.5, через Дельфю при помощи FIBC подключаюсь.
Но когда делаю
pFIBTransaction1.Commit;
то ДатаСет выключается, как это побороть или не надо с ними бороться??

Извиняйте если вопрос Дельфийский.

Спасибо
...
Рейтинг: 0 / 0
Научите правильно работать с FB & Delphi.
    #32650376
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if Transaction.InTransaction then Transaction.Commit;

При завершении транзакции методом TIBTransaction.Commit или TIBTransaction.Rollback происходит следующее. В методе TIBTransaction.EndTransaction выполняются завершающие действия для объектов, ассоциированных с транзакцией:

for i := 0 to FSQLObjects.Count - 1 do if FSQLObjects <> nil then
SQLObjects.DoBeforeTransactionEnd;

В методе TIBCustomDataSet.DoBeforeTransactionEnd выполняется

if Active then Active := False;

После этого в методе TIBCustomDataSet.InternalClose выполняется закрытие набора данных, описанное выше:

if FDidActivate then DeactivateTransaction;

и далее:

if Transaction.InTransaction then Transaction.Commit;
...
Рейтинг: 0 / 0
Научите правильно работать с FB & Delphi.
    #32650542
x.diablo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowif Transaction.InTransaction then Transaction.Commit;

При завершении транзакции методом TIBTransaction.Commit или TIBTransaction.Rollback происходит следующее. В методе TIBTransaction.EndTransaction выполняются завершающие действия для объектов, ассоциированных с транзакцией:

for i := 0 to FSQLObjects.Count - 1 do if FSQLObjects <> nil then
SQLObjects.DoBeforeTransactionEnd;

В методе TIBCustomDataSet.DoBeforeTransactionEnd выполняется

if Active then Active := False;

После этого в методе TIBCustomDataSet.InternalClose выполняется закрытие набора данных, описанное выше:

if FDidActivate then DeactivateTransaction;

и далее:

if Transaction.InTransaction then Transaction.Commit;



что ты несешь?

2 Без_мозгов:
вызывай CommitRetaining вместо Commit - и будет тебе счастье :)
...
Рейтинг: 0 / 0
Научите правильно работать с FB & Delphi.
    #32650589
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без_мозговПод Виндой стоить FireBird 1.5, через Дельфю при помощи FIBC подключаюсь.
Но когда делаю
pFIBTransaction1.Commit;
то ДатаСет выключается, как это побороть или не надо с ними бороться??

Спасибо

Включить опять.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Научите правильно работать с FB & Delphi.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]