powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как узнать прошла ли транзакция или нет ?
9 сообщений из 9, страница 1 из 1
Как узнать прошла ли транзакция или нет ?
    #32616803
Фотография Dmitriy O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в том что скжем есть форма где вводят данные
перед закрытием если небыли вызванны методы Rollback
или Commint. Вызвать диалог "Сохранить записи ?"
Так вот как узнать была ли уже транзакция или нет ?
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616810
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy O.Вопрос в том что скжем есть форма где вводят данные
перед закрытием если небыли вызванны методы Rollback
или Commint. Вызвать диалог "Сохранить записи ?"
Так вот как узнать была ли уже транзакция или нет ?
Что значит "была ли уже"?
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616827
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616834
doroshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На чем пишешь клиент?
Например на Delphi можно проверить так
Код: plaintext
1.
2.
3.
4.
if IBTransaction1.Active then 
//транзакция еще активна - делаешь то что тебе надо или Commit или Rollback
else
//транзакция уже завершена.

Это интересует? Или что-то другое? Тогда, плиз, подробнее опиши проблему...
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616919
Фотография Dmitriy O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в том что есть форма куда набиваются данные есть специальный кнопель для сохранения данных (Commit) И такойже кнопель "Отменить"
(Rollback) И скажем если Юзер забыл нажать эти кнопки то перед закрытием
формы ему напомнить что данные нужно или сохранить или отменить
Но если он уже сохранил данные то такое сообщение лишний раз не нужно выдавать
Пишу на Delphi
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616937
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, завести специальную переменную типа saved:boolean; коммунистическая мораль не позволяет?
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616964
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Навесь обработчик события OnStateChange на все свои датасеты. (Один на всех)
Типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure dS_StateChange(Sender: TObject);
var
  i: integer;
begin
  NeedSave := false;
  for i :=  0  to ComponentCount -  1  do
    if Components[i] is TIBCustomDataSet then
      with (Components[i] as TIBCustomDataSet) do
        if (State in [dsEdit, dsInsert]) then NeedSave := true;
end;
NeedSave - проперть формы на которой лежат эти датасеты.
Анализируй эту переменную в обработчике событий OnUpdate для
акций (TAction), реализующих Commit и Rollback.
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32616989
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мимопроходящий

А чей ComponentCount у тебя в примере ?
И ежели датасеты были созданы динамически и не имеют владельца ?
:)
если хочешь
...
Рейтинг: 0 / 0
Как узнать прошла ли транзакция или нет ?
    #32617014
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JohnmenА чей ComponentCount у тебя в примере ?Формы. Я же писАл.
Просто не стал писАть procedure MyForm.dS_StateChange(Sender: TObject);
дабы не смущать вопрошавшего.
JohnmenИ ежели датасеты были созданы динамически и не имеют владельца ?:)С дуру можно и Буй сломать...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как узнать прошла ли транзакция или нет ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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