Ana uygulamadan çoklu kullanıcının bağlandığı databaseye triggerı Craeta ederek oluşturdum ve güzelde çalışıyor.
Fakat 2. uygulamadan databasede değişiklik yapıldığını nasıl yakalaya bilirim? bunu çözemedim. yardımlarınızı rica ederim.
Kod: Tümünü seç
try
FDQuery.Active := False;
FDQuery.Close;
FDQuery.SQL.Clear;
FDQuery.SQL.Add(' CREATE SEQUENCE GEN_RESIMTETIKLE_ID');
FDQuery.ExecSQL;
finally
FDQuery.Close;
end;
try
FDQuery.Active := False;
FDQuery.Close;
FDQuery.SQL.Clear;
FDQuery.SQL.Add('CREATE TRIGGER RESIMTETIKLE FOR RESIM');
FDQuery.SQL.Add('ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0');
FDQuery.SQL.Add(' AS');
FDQuery.SQL.Add(' BEGIN');
FDQuery.SQL.Add(' IF (INSERTING) THEN');
FDQuery.SQL.Add(' POST_EVENT ''Insert'';');
FDQuery.SQL.Add(' ELSE');
FDQuery.SQL.Add(' IF (UPDATING) THEN');
FDQuery.SQL.Add(' POST_EVENT ''Update'';');
FDQuery.SQL.Add(' ELSE ');
FDQuery.SQL.Add(' POST_EVENT ''Delete'';');
FDQuery.SQL.Add(' END');
FDQuery.ExecSQL;
finally
FDQuery.Close;
end;
end;
Kod: Tümünü seç
procedure TMainForm.FDEventAlerterAlert(ASender: TFDCustomEventAlerter; const AEventName: string; const AArgument: Variant);
begin
if SameText(AEventName, 'Update') then
begin
ResimTetikleUpdate(Self);// değişiklik yap
end;
end;