Firebird Kayıt Silme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Firebird Kayıt Silme

Mesaj gönderen mcihad »

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.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
kayıtları gösterdiğiniz gridde pkeyi de gösterirseniz neden kayıtları silmediğini anlayabilirsiniz.
sorun pkey kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Mesaj gönderen mcihad »

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

Mesaj gönderen aslangeri »

peki silmeyi hangi alana/alanlara göre yapıyorsunuz?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Mesaj gönderen mcihad »

sql ile silmiyorum
ibtable1.delete diyorum

şöyle anlatayım.
Formu açtım kaydetmeyi yaptım ve aynı kaydı tekrar sildim. Formu tekrar açtığımda kayıt hala gözüküyor. Tekrar açtıktan sonra silersem siliniyor
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

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 :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

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.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Mesaj gönderen mcihad »

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 :idea:
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.
Zaten fazla ilerlememiştim zeos bileşenleri kullanınca hiçbir problem kalmadı
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

arkadaşım tablonda PK tanımla daha sonra dene sonucu yaz. bana göre PK olmamasından kaynaklanıyordur.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Rastgele ve deneme yanılma ile olması çok zor tabi. Bir çok kişi bu şekilde kullanabiliyorsa sen bir şeyleri atlıyorsun gibime geliyor :roll:
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 :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

Mesaj gönderen mcihad »

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.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

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 :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla