Veritabanı Firebird,Dataset Bileşeni IBDataset;
Kayıt ekleme,silme,edit vb.işlemleri IbDataset nesnesinin Append,Delete yöntemleri ile yapıyorum.
IBdatasetim her iki tablodan alanlar alıyor.Hem arama ve sorgulama hemde bulunan ve listelenen kayıtlar üzerinde değişiklik yapma işlemini aynı Dataset nesnesi ile yapıyorum.Tabii asıl tablodan değilde diğer tablodan sadece bilgi amaçlı gösterdiğim alanları IBDataset nesnesinin SQL ifadelerini oluştururken UPDATEFIELDS bölümünde seçmeden bırakıyorum.Buraya kadar tamam.Ancak bu Dataset ile yeni bir kayıt eklediğim zaman Transactionu commit etmeden,Dataseti açıp kapatmadan bu UpDate edilmeyecek olan alanlar DBGridde boş görünüyor.Dataseti açıp kapatınca ise ilgili bilgi diğer tablodan çekiliyor.Kaydı post eder etmez bu alanında bilgi çekmesi için ne yapmalıyız?
Dataseti açıp kapatmaktan başka çare yokmudur.Çünkü bunu yapmak istemiyorum.
Tablo yapısı aşağıdakine benzer bir yapı.
Kod: Tümünü seç
HASTALAR TABLOSU MUAYENE TABLOSU
KAYIITID
KAYITID <------------------> HASTAKODU
ADISOYADI ANAMNMEZ
ADRES ATES
BULGULAR
DOKTOR
ILACLAR
Kod: Tümünü seç
SELECT MUAYENE.KAYITID,MUAYENE.ANAMNMEZ,MUAYENE.DOKTOR,
MUAYENE.HASTAKODU,MUAYENE.BULGULAR,MUAYENE.ILACLAR,
MUAYENE.ATES,HASTALAR.ADISOYADI, FROM MUAYENE,HASTALAR WHERE HASTALAR.KAYITID=MUAYENE.HASTAKODU
Burada Hastalar tablosundan çekilen HASTALAR.ADISOYADI fieldi UpdateFields bölümünde seçilmiyor.Sadece bilgi amaçlı çekiliyor.
InsertSQL :
Kod: Tümünü seç
insert into MUAYENE
(ANAMNMEZ, ATES, BULGULAR, DOKTOR, HASTAKODU, ILACLAR, KAYITID)
values
(:ANAMNMEZ, :ATES, :BULGULAR, :DOKTOR, :HASTAKODU, :ILACLAR, :KAYITID)
Kayıt Eklemeden Önce Gridin Durumu:
Kayıt Ekledikten Sonra Gridin Durumu
Dataseti Açıp Kapattıktan Sonra Gridin Durumu
Aslında bu durum belkide normal ama o alanın boş kalması hoş durmadığı gibi sırf o alanı göstermek içinde Dataseti Aç Kapa yapmak tuhaf oluyor.
Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.