Yenilemeden Kayıt Ekleme ve Okuma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
recepuncu
Üye
Mesajlar: 66
Kayıt: 04 Nis 2006 08:22
Konum: Çorum

Yenilemeden Kayıt Ekleme ve Okuma

Mesaj gönderen recepuncu »

Merhaba arkadaşlar, çeşitli veritabanı programlarıyla çalışıyorum, birçok programlarda kayıtları okumuş olduğum Ttable nesnesi ve kayıt girişlerini yaptığım Ttable nesnesi farklı oluyor. (Yada Tquerry gibi insert yapabileceğimiz herhangi bir nesne...) Böyle oluncada kayıt ekleme formunda eklenen kayıt, arka formdaki TDbGrid nesnesinde okunsun diye gridin bağlı olduğu dataset ve table nesnelerini açıp kapatıyorum. bu açıp kapatma işi çok amele olmaya başladı (amelelik: yavaş işliyor ve profesyonel olmadığı). Bunagöre bir table a girilen kayıt, 2nci ve/veya 3ncü table nesnelerinde okunabilmesi için ne yapabiliriz?

İlginize Şimdiden Teşekkürler.
"Şu deredeki su,kaç kere değişti,yıldızların akisleri hep yerinde."
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
eğer her kayıt girişinde arkadaki tabloyu refresh yapıyorsanız niçin iki ayrı bileşen kullanıyorsunuz ki?
form kapatıldığı zaman arkadaki tabloyu refresh etseniz yetmezmi?
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
recepuncu
Üye
Mesajlar: 66
Kayıt: 04 Nis 2006 08:22
Konum: Çorum

Mesaj gönderen recepuncu »

A.S. Hocam, bazen formu kapatmadığımız durumlarda olabiliyor, bunun yanı sıra, arkadaki tablo(lar)dan, birden fazla table dan lookup(locate) ile veri getiriyorum, yenileme(açıp-kapatma) sırasında kayıtlar başa dönünce, üstdeki form istenmeyen kayıtları edit ediyor. :?

Umarım açıklayıcı olabilmişimdir.
"Şu deredeki su,kaç kere değişti,yıldızların akisleri hep yerinde."
erdoganturkmen

Mesaj gönderen erdoganturkmen »

Hayırlı günler. Sorunuzu doğru anladıysam yapmak istediğiniz: Veritabanına kayıt yapıldığı esnada dbgrid nesnesinde görünmemesi...
Table nesnesinin Afterpost olayına

Kod: Tümünü seç

procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
Table1.Refresh;
end;
yazmanız yeterli olacaktır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam.

- Biliyorsunuz formların Showing diye bir property'si var. True ise form gösterim halinde olduğunu anlarız.

- Bir Procedure hazırlayın. Bu procedure şunu yapsın.

1 - Application'unuzun 0'dan -> ComponentCount-1 kadar döngü kurup içindeki TForm sınıfındakileri yani create edilmiş formları bulsun.

2- Bulduğu bu her formdan -sizin bulunduğunuz form ise dilerseniz atlayabilirsiniz- bahsi geçen ve güncelleme gereken DBGrid bulunan varsa ve yukarda bahsettiğim kontrolle o an görüntülenir haldeyse ek bir işlem yapılsın.

3- Bu ek işlem; bulunan formdaki DBGrid'in aktif kayıt nosunu yedek bir değişkene alıp ilgili Gride ait sorguyu REFRESH edin. Daha sonra yedeklediğiniz kayda locate ettirin.

4- Diğer formlarda da aynı işlemi tekrarlatın.

- Bu hazırladığınız procedure'ü her afterpost işleminde çağırırsanız dileğiniz gerçekleşecektir.

- Başarılar
Resim
Resim ....Resim
Cevapla