![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обновить д-е во всех приложениях [D7, IB6.x]
Belkova © (2004-04-03 12:07:00)Мастера Delphi! Подскажите, что я делаю не так:
Требуется, чтобы после изменения д-х в таблице Price во всех клиентских приложениях обновлялась информация.
создаю на сервере триггер
Create trigger Updateprice For price
Active After update
As begin
Post_Event 'evChangeprice';
End
В приложении использую компонент IbEvent
FDM.IBEvents1.Events.Clear;
FDM.IBEvents1.Events.Add('evChangeprice');
FDM.IBEvents1.RegisterEvents;
и обрабатываю событие
procedure TFDM.IBEvents1EventAlert(Sender: TObject; EventName: String;
EventCount: Integer; var CancelAlerts: Boolean);
begin
if EventName='evChangePrice' then
begin
Qprice.Close;
QPrice.Open;
end;
end;
QPrice - компонент IBQuery, связанный с таблицей price
Изменения в price происходят следующим образом:
IBTransaction.StartTransaction;
try
{ Вызов хранимой процедуры, которая обновляет д-е}
IBTransaction.Commit;
except
IBTransaction.Roolback;
end;
Johnmen (2004-04-03 17:41:00) [1]В оработку события добавить
CancelAlerts:=False;
Belkova (2004-04-03 13:34:00) [2]Откликнитесь кто-нибудь!!!