Kayit silme problemi

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
mrtblt
Üye
Mesajlar: 222
Kayıt: 02 Tem 2007 05:13

Kayit silme problemi

Mesaj gönderen mrtblt »

Merhaba

asagidaki kod ile kayit silme islemini yapmaya calisiyorum.

Kod: Tümünü seç

dm.q_invheader.delete;
Sonra tabloyu grid icerisinde asagidaki kod ile refresh ettigimde

Kod: Tümünü seç

    dm.q_invheader.SQL.Clear;
    dm.q_invheader.SQL.Add('select ih.*, ih2.* from inv_header ih ');
    dm.q_invheader.SQL.Add('left join ayar2 ayr on ayr.deger=ih.sinif');
    dm.q_invheader.SQL.Add('left join inv_header2 ih2 on ih2.id2=ih.id');
    dm.q_invheader.sql.Add('where ((USER1=:p1 and REF=''FATTYPE'') and ((ih2.cname like ''%'+edit1.Text+'%'') or (ih2.invtip like ''%'+edit1.Text+'%'') or (ih.ozel like ''%'+edit1.Text+'%'') or (ih.inv_no='''+edit1.Text+'''))) order by ih.inv_date DESC, ih.inv_no ASC');
    dm.q_invheader.ParamByName('p1').Value := dm.q_yonet.fieldbyname('ID').AsInteger;
    dm.q_invheader.open;
sildigimi zannettigim kayit yeniden ekrana geliyor.

IBDAC componentleri kullaniyorum ve bilesene autocommit yaptirmiyorum (Autocommit = False)

Silme isleminden sonra

Kod: Tümünü seç

dm.neyserv.DefaultTransaction.CommitRetaining;
yapmiyorum Bundanda kaynaklaniyor olabilirmi?
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Kayit silme problemi

Mesaj gönderen mkysoft »

Joinli tablolarda silme sorunları olabiliyor. test etmek gerekir.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: Kayit silme problemi

Mesaj gönderen Kuri_YJ »

Selamlar,

Join'li querylerden kayıt silmenizi tavsiye etmem. Eğer bir kayıt silinecekse bunu manuel olarak kendiniz yapın. Çünkü, bir kayıt sileyim derken Joinli tablellardaki bütün kayıtları beraber götürürsünüz (INNER JOIN için) o zaman da geri saramazsınız.

Kolay Gelsin
Adnan
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2357
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Kayit silme problemi

Mesaj gönderen freeman35 »

Delete query ni kontrol et bence, Select cümleleriniz sabitse sadece parametreleriniz değişiyorsa, Select yada diğer sql lerinizi değiştirmeyin, parametreler için parambyname i kullanın. DAC serisine bende yeni geçtim, üstelik lazarusda, bende halen öğrenme aşamasında olduğumdan iddialı olarak yazamıyorum, select sql i yazdığınızda diğer sql text leri siliyor olabilir. En basit olarak beforedelete event inde delete sql i kontrol edin
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla