Вложенные транзакции.

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
savl
Сообщения: 19
Зарегистрирован: 19 июн 2005, 11:49

Вложенные транзакции.

Сообщение savl » 24 май 2006, 10:37

Здравствуйте.

Возможно ли в firebird 1.5 организовать вложенные транзакции.

Это мне надо для того чтобы дать возможность отменить или подтвердить редактирование связанной таблицы при окончании редактировани текущей.


Есть таблица DMMETERS - приборы учета.

CREATE TABLE DMMETERS (
I INTEGER NOT NULL,
HOUSE INTEGER,
APART1 INTEGER,
APART2 INTEGER,
SERVICE INTEGER,
SERIAL CHAR(10),
MARKA INTEGER,
ABOUT BLOB SUB_TYPE 1 SEGMENT SIZE 250,
METERTYPE INTEGER
);

Есть таблица DMMETERSMETERAGE - показания приборов учета.

CREATE TABLE DMMETERSMETERAGE (
I INTEGER,
METER INTEGER,
MVALUE FLOAT,
DATEM DATE,
TYPEMET INTEGER,
ABOUT VARCHAR(250)
);

В таблице DMMETERSMETERAGE поле METER - указатель на поле I в таблице DMMETERS.

Есть форма, в которой отображаются несколько записей из таблицы DMMETERS и конролы редакирования данного списка. При двойном щелчке на запись выпадает форма редактировани записей из таблицы DMMETERSMETERAGE, связанных с активной записью в таблице DMMETERS (можно отменить или подтвердить редактирование).

Возможно ли сделать так, чтобы при закрытии первой формы (Ok/Cancel) подтверждались или отменялись все действия, которыя были проведены с таблицей DMMETERSMETERAGE, учитывая то, что пользователь может редакитровать показания сразу в нескольких приборах учета?

Спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 24 май 2006, 11:33

вопрос уже был на sql.ru

savl
Сообщения: 19
Зарегистрирован: 19 июн 2005, 11:49

Сообщение savl » 24 май 2006, 11:53

Был, но там,по моему, не пришли к решению, или я не тот топик смотрел.
Подскажите, пожалуйста, адрес вопроса.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 24 май 2006, 12:19

ответ вкратце: www.ibase.ru/devinfo/savepoints.htm
или делать все в одной транзакции.

Ответить