Firebird Güncelleme Yöntemi

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
veliadiguzel
Üye
Mesajlar: 197
Kayıt: 09 Tem 2003 02:11
Konum: Gebze/Kocaeli
İletişim:

Firebird Güncelleme Yöntemi

Mesaj gönderen veliadiguzel »

Selamun Aleyküm,

Kendi kullandığım bir yöntemi burada paylaşmak istedim malum firebird de güncelleme sıkıntısı yaşayan arkadaşlar var. Aslında belki daha iyi yöntemler vardır ama kolay kullanımı olan bi yöntem şöyleki,
veritabanı tarafında her bir dosya için

Kod: Tümünü seç

CREATE TRIGGER TESBITLER_AIUD0 FOR TESBITLER
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
  /* Trigger text */
   post_event('dsetTesbitler');
Afer insert,update,delete işlemlerinde çalışacak şekilde trigger oluşturuyoruz ve event ismi olarak delphi tarafında kullandığımız dataset bileşeninin adını veriyoruz.

Delphi tarafında ise ibevent bileşenine tüm bu eventname leri ekliyoruz.

Kod: Tümünü seç

procedure TDM.ibEventAlerterEventAlert(Sender: TObject; EventName: string;
  EventCount: Integer);
var
  bm: TBookmark;
begin
  with TFIBDataSet(FindComponent(EventName)) do
  begin
    bm := GetBookmark;
    DisableControls;
    CloseOpen(true);
    while ControlsDisabled do
      EnableControls;
    GotoBookmark(BM);
  end;
end;
yukardaki kod ilede evente göre gerekli dataset kapatılıp açılarak güncellem yapılmış oluyor.

Allaha emanet olun inşAllah birilerinin işine yarar.
En son veliadiguzel tarafından 30 Tem 2008 02:27 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Veli ADIGÜZEL

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4321
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Firebird Güncelleme Yöntemi

Mesaj gönderen aslangeri »

s.a.
paylaşımınız için teşekkür ederim.
burda bir şey ilave etmek istiyorum.
tabloyu close open yapmadan önce bookmark kullanarak kullanıcının en son seçtiği kayıtta kalmasınıda sağlayabiliriz.
zira gridde arayıp seçtiğim kaydın otomatik yenileme işlemi sırasında kaybolması biraz sıkıcı olabilir.
bookmark ile gitmede seçili kayıt silinirse bir hata mesajı alınabilir tabiki :wink:
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim

Kullanıcı avatarı
veliadiguzel
Üye
Mesajlar: 197
Kayıt: 09 Tem 2003 02:11
Konum: Gebze/Kocaeli
İletişim:

Re: Firebird Güncelleme Yöntemi

Mesaj gönderen veliadiguzel »

evet haklısınız biraz güncellenmesi gerekli ;)
Veli ADIGÜZEL

Kullanıcı avatarı
Commandx
Üye
Mesajlar: 156
Kayıt: 01 Oca 2008 05:34

Re: Firebird Güncelleme Yöntemi

Mesaj gönderen Commandx »

Peki Hangi Kaydın değiştiğini nasıl bulabiliriz?
Mesela ID = 100 nolu kaydımızı editledik , ID =100 de adsoyad kolonunda bulunan Mehmet i Tüm Clientlarda , Örn Showmessage ile nasıl gösterebiliriz
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
Function PARSE( text, ilk, son:String ): String; // Çok Lazım oluyor da :)=
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;

Resim

Cevapla