03-04-2021, Saat: 20:46
(03-04-2021, Saat: 18:24)sunbeki Adlı Kullanıcıdan Alıntı: Aynı değil. Birinci yolda program içerisinde kaydetme, silme, güncelleme gibi her işlemden sonra bu ifadeyi yazdım. Örnek olarak kişi kaydetme için aşağıdaki şekilde kod yazdım.
with DataModule1.IBQ_Kisiler do begin Database := DataModule1.IBDatabase1 ; SQL.Clear ; Sql.Add('Insert Into TBL_KISILER(TCNO,ADI_SOYADI,BABA_ADI,TELEFON)'); Sql.Add('Values(: PTCNO,: PADI_SOYADI,: PBABA_ADI,: PTELEFON)'); ParamByName('PTCNO').AsString := TCNO.Text ; ParamByName('PADI_SOYADI').AsString := Adi_Soyadi.Text ; ParamByName('PBABA_ADI').AsString := Baba_Adi.Text ; ParamByName('PTELEFON').AsString := Telefon.Text ; Prepare ; ExecSQL ; DataModule1.IBTransaction1.CommitRetaining ; end;
İkinci yolda ise sadece "DataModule1. IBTransaction1.CommitRetaining " ifadesini tüm IBQuery 'lerin afterpost, afterdelete ve afteredit olaylarına yazdım.
Merhaba,
Çalışmaması normal değil mi?
Siz IBQ_Kisiler için post parametresini kullanmıyorsunuz. ExecSQL kullanıyorsunuz. Buradaki kullanım şekliniz doğru. Olması gereken budur.
Dataset kullanıyorsanız Edit moda alıp sonra post ile kayı yapıyorsanız buralarda kullanabilirsiniz fakat yukarıdaki kodunuz bence olması gerektiği gibi.
İyi Çalışmalar.

