event ve sorgulama
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
event ve sorgulama
s.a.
Firebird Event kullandığım bir projede tetiklenen eventleri alıyorum, bir hareket dosyasında
yapılan her kayıttan sonra eventle algılayıp query ile sorgulama yapıyorum.
Ancak eventten sonra yapığım sorgulamada son hareket kaydını 2 defa görüyorum, bir önceki hareketi göremiyorum,
oysa hareket dosyası düzgün olarak kayıt yapıyor.
Örnek olarak:
Hareket kayıtları :
n-1 kayıt 'Ahmet evrakı parafladı'
n kayıt 'Ali imza bekliyor'
benim eventla yakalayıp query ile gördüğüm kayıtlar:
'Ali imza bekliyor'
'Ali imza bekliyor'
hareket kayıtlarında kayıttan sonra commitretaining yapıyorum.
transaction ayarları doğru.
ama sorgulamada eksik kayıt geliyor, acaba neden olabilir.
Firebird Event kullandığım bir projede tetiklenen eventleri alıyorum, bir hareket dosyasında
yapılan her kayıttan sonra eventle algılayıp query ile sorgulama yapıyorum.
Ancak eventten sonra yapığım sorgulamada son hareket kaydını 2 defa görüyorum, bir önceki hareketi göremiyorum,
oysa hareket dosyası düzgün olarak kayıt yapıyor.
Örnek olarak:
Hareket kayıtları :
n-1 kayıt 'Ahmet evrakı parafladı'
n kayıt 'Ali imza bekliyor'
benim eventla yakalayıp query ile gördüğüm kayıtlar:
'Ali imza bekliyor'
'Ali imza bekliyor'
hareket kayıtlarında kayıttan sonra commitretaining yapıyorum.
transaction ayarları doğru.
ama sorgulamada eksik kayıt geliyor, acaba neden olabilir.
Re: event ve sorgulama
Selamlar,
O anda Açık Olan Query nesnesini Refresh mi yapıyorsunuz yoksa Close Open mı yapıyorsunuz?
Rrefresh ederken Grid ile Query nesnesi arasında bir refresh sorunu yaşıyor olabilirsiniz, onu bir kontrol edin derim.
Kolay Gelsin
O anda Açık Olan Query nesnesini Refresh mi yapıyorsunuz yoksa Close Open mı yapıyorsunuz?
Rrefresh ederken Grid ile Query nesnesi arasında bir refresh sorunu yaşıyor olabilirsiniz, onu bir kontrol edin derim.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: event ve sorgulama
query yi close-open yapıyorum hocam
Kod: Tümünü seç
If EventName='YAZIHAR_EKLEME' Then Begin
If Sorgu.Active Then Sorgu.Close;
Sorgu.SQL.Text:='Select Y.YZL_KNO, Y.YZL_KONU, H.YZH_ACK, H.YZH_TAR, H.YZH_SAAT '+
'From YAZILAR Y, YAZIHAR H Where Y.YZL_KNO=H.YZH_KNO '+
'Order By H.YZH_TAR, H.YZH_SAAT';
Sorgu.Open;
Sorgu.Last;
Lst_Islemler.Lines.Add('Evrak İşlemi : Kayıt No : '+
Sorgu.FieldByName('YZL_KNO').AsString +' - Konusu : '+
Sorgu.FieldByName('YZL_KONU').AsString+' - '+
Sorgu.FieldByName('YZH_ACK').AsString +' - '+
Sorgu.FieldByName('YZH_TAR').AsString +' : '+
Sorgu.FieldByName('YZH_SAAT').AsString);
Sorgu.Close;
Lst_Islemler.Lines.Add(StringOfChar('-',115));
End;
Re: event ve sorgulama
Sorguyu baştan sona bir dolaşın bakalım, (ekrana yazdırın manuel olarak) hala kayıt aynı mı ?
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: event ve sorgulama
üstad showmessage ile de kontrol ettim,
aşağıdaki şekilde de kontrol ettim
If EventName='YAZIHAR_EKLEME' Then Begin
yaziharformu.yazihar.last;
showmessage(yaziharformu.yaziharYZH_ACK.text);
end;
triger kodu aşağıdaki şekilde
sonuç yine aynı, hayret ediyorum bu duruma.
aşağıdaki şekilde de kontrol ettim
If EventName='YAZIHAR_EKLEME' Then Begin
yaziharformu.yazihar.last;
showmessage(yaziharformu.yaziharYZH_ACK.text);
end;
triger kodu aşağıdaki şekilde
Kod: Tümünü seç
CREATE OR ALTER TRIGGER YAZIHAR_INS FOR YAZIHAR
ACTIVE AFTER INSERT POSITION 0
AS
begin
/* Trigger text */
post_event 'YAZIHAR_EKLEME';
end
Re: event ve sorgulama
Peki şimdi Connection'ı kapatıp tekrar açın ve sorguyu bu şekilde yineleyin.
Bakalım hala aynı mı getiriyor. Eğer connection'ı kapatıp tekrar açınca kayıtlar düzeliyorsa, o zaman Transaction Isolation Level ile ilgili bir sorun var demektir, Isolation Level'ı değiştirin Connection'ınızın (Dabase nesnesinin)
Bir de böyle deneyin bakalım.
Kolay Gelsin
Bakalım hala aynı mı getiriyor. Eğer connection'ı kapatıp tekrar açınca kayıtlar düzeliyorsa, o zaman Transaction Isolation Level ile ilgili bir sorun var demektir, Isolation Level'ı değiştirin Connection'ınızın (Dabase nesnesinin)
Bir de böyle deneyin bakalım.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: event ve sorgulama
transaction'un isolationlevel ayarı ReadCommitted ve kayıttan sonra commitretaining yapıyorum. Ayrıca tableyi refresh yaptım yine olmadı, bu arada kullandığım component Devart ın InterBase DataAccessComponent
Re: event ve sorgulama
O zaman bir de IB componentlerle basit bir deneme yapın bakalım
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: event ve sorgulama
IB componentlerle de yaptım üstad aynı sonucu veriyor... yani son kayıt iki defa geliyor
Re: event ve sorgulama
Peki gerçekten DB'de aynı kayıttan iki tane mi var? Yoksa kayıtlar farklı mı?
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: event ve sorgulama
db de kayıtlar ayrı ayrı biri ali biri veli ama event sorgusundan gelen kayıtlar aynı 2 tane veli 

Re: event ve sorgulama
Sorunu başka yerde aramak lazım o zaman, şu anda benim aklıma gelenler bunlar. Ama denemelerinizde Connection'ı kapatıp açtınız mı? Yani, DB Nesnesini Connected := False ve Connectted := True yapıp denediniz mi?
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: event ve sorgulama
Tabloyu neden Last yapıyorsun? Onu kaldırıp dener misin bir de..
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: event ve sorgulama
çünkü son kaydı almam gerekiyor.aLonE CoDeR yazdı:Tabloyu neden Last yapıyorsun? Onu kaldırıp dener misin bir de..

arkadaşlar sorunu iki post arasına showmessage koyarak hallettim.
herkese teşekkürler.