Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как обновить д-е во всех приложениях [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]

Откликнитесь кто-нибудь!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо