Firebird Kayıt Silme
Firebird Kayıt Silme
S.a arkadaşlar firebirde veritabanına kaydediyorum tabloyu kapatıp açmadan silme yaparsam silme işini yapmış gözüküyor. Ama tekrar açtığımda kayıt aynen duruyor. DataSet in after delete olayında transaction.CommitRetaining falan filan forumda ne kadar yöntem varsa denedim ama yine olmadı
anlamadım gitti.
anlamadım gitti.
sql kullanmasanda table1.delete dedeiğin zaman program aktif indexe göre seçili kaydı siliyordur. alanlardan birinin değeri tam gelmemiş olduğu için olabilir.
pk. key kullanmanı da salık veririm.
pk. key kullanmanı da salık veririm.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Hepsini defalarca kontrol ettim ama yine olmadı. Acaba kafam mı dağınık diyerek 1 saat sonra kontrol ettim yine aynı şeyler oldu. Bileşenleri baştan tek tek koydum yine olmadı. Bana firebird 2.0 ve delphi 7 den gibi geldi ama yinede tam bilemiyorum.rsimsek yazdı:Bence Transaction olayında bir sorun var. AfterPost ta IBTransaction1.CommitRetaining; yapılıyor mu? CachedUpdates var mıAyrıca IBTable yerine IBDataSet ve gerekli Insert/Update/Delete SQL lerinin oluşturulması gerekir
Zaten fazla ilerlememiştim zeos bileşenleri kullanınca hiçbir problem kalmadı
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
Rastgele ve deneme yanılma ile olması çok zor tabi. Bir çok kişi bu şekilde kullanabiliyorsa sen bir şeyleri atlıyorsun gibime geliyor
AfterPost ta IBTransaction1.CommitRetaining; kullanırsan bağlı DataSet leri (IBTable, IBDataSet, IBQuery) kapatıp tekrar açar, yani Transaction içindeki değişiklikleri veri tabanında kalıcı hale getirir (kaydeder/siler/değiştirir) ve yeni bir Transaction başlatır

AfterPost ta IBTransaction1.CommitRetaining; kullanırsan bağlı DataSet leri (IBTable, IBDataSet, IBQuery) kapatıp tekrar açar, yani Transaction içindeki değişiklikleri veri tabanında kalıcı hale getirir (kaydeder/siler/değiştirir) ve yeni bir Transaction başlatır

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Sorunum şu anda çözüldü.
PK İle alakası olduğunu sanmıyor. Öyle olsaydı zeos ilede silmezdi. Aslında siliyordu ama veri ekleyip hemen arkasından silersem silmiş gibi gözüktüğü halde silmiyordu. Dataset lerde AfterPost olaylarını vs. tamamen kullandım. Halada anlamış değilim neden silmediğini. Atladığım biyerler vardır belki bilemiyorum. Yinede sağolun arkadaşlar.
PK İle alakası olduğunu sanmıyor. Öyle olsaydı zeos ilede silmezdi. Aslında siliyordu ama veri ekleyip hemen arkasından silersem silmiş gibi gözüktüğü halde silmiyordu. Dataset lerde AfterPost olaylarını vs. tamamen kullandım. Halada anlamış değilim neden silmediğini. Atladığım biyerler vardır belki bilemiyorum. Yinede sağolun arkadaşlar.
Sanırım IBTable da ısrar ettiniz.. Daha önce de IBTable yerine IBDataSet tavsiye edilmişti. IBDataSet in SQL leri (INSERT, UPDATE/MODIFY, DELETE, ve REFRESH) uygun şekilde (Object Inspector->Properties->SelectSQL oluşturulduktan sonra, IBDataSet sağ tuş->DataSet Editor... den {Generate SQL} kendisi otomatik oluşturur) oluşturulduktan sonra yukarıdaki noktalara da dikkat edilerek sağlıklı bir şekilde güvenle kullanabilirsiniz 

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!