Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

И снова про транзакции и обновление   Найти похожие ветки 

 
For   (2004-11-28 03:28) [0]

Подскажите тупому новичку, как правильно реализовать обновление таблиц с помощью транзакций. Пример: одна прога изменяет данные, другая их должна видеть, или получить сообщение, что таблица изменена. Везде где обсуждался этот вопрос нет ничего конкретного, или я не догоняю. Применимо как для IBDataset, так и для IBTable. ХЭЛП!


 
Vemer ©   (2004-11-28 11:09) [1]

Тут и рядом с ним можно найти много интересного:
http://www.sql.ru/forum/actualthread.aspx?tid=140992


 
MaxxSoft ©   (2004-11-28 11:28) [2]

Создаешь процедуру в БД для изменения данных, и на выходе генерируешь событие, напрмер:

CREATE PROCEDURE "CHANGE_TABLE1"
(
 "VALUE1" INTEGER,
 "VALUE2" INTEGER
)
AS
begin
 update TABLE1 set FIELD1 = :VALUE1 where FIELD2 = :VALUE2;
 post_event("TABLE1_CHANGED");
end

В приложении, изменяющем данные в БД создаешь SQL-запрос и через него вызываешь эту процедуру:

CHANGE_TABLE1_SQL: TIBSQL;
...
with CHANGE_TABLE1_SQL do
begin
 CHANGE_TABLE1_SQL.SQL.TEXT := "execute procedure CHANGE_TABLE1" (:VALUE1, :VALUE2);
 if not Prepared then Prepare;
 ParamByName("VALUE1").AsInteger := Value1;
 ParamByName("VALUE2").AsInteger := Value2;
 ExecQuery;
 Close;
end;


В приложении, которое отображает изменения создаешь Event:

CHANGE_TABLE1_EVENT: TIBEvents;
...
//при создании формы устанавливаешь и регистрируешь событие:
CHANGE_TABLE1_EVENT.Events.Clear;
CHANGE_TABLE1_EVENT.Events.Add("TABLE1_CHANGED");
CHANGE_TABLE1_EVENT.Registered := true;
...
//Пишешь обработчик события
procedure TDataModul.CHANGE_TABLE1_EVENTEventAlert(...);
begin
//To do...
end;

Вот и все, успехов...



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1103102918
_Max_
2004-12-15 12:28
2004.12.26
Как отключить/перехватиывать буфер обмена Windows?


3-1101284913
Sens
2004-11-24 11:28
2004.12.26
Помогите создать запрос


4-1099737740
acsoft
2004-11-06 13:42
2004.12.26
Открывать txt моей программой


14-1102497033
NailMan
2004-12-08 12:10
2004.12.26
Убить зверя на компе....


1-1102499948
mefisto
2004-12-08 12:59
2004.12.26
Как передать сообщение своей программе с коммандной строки?