SORGU İLE KAYIT

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kilitli
Mustafa YILMAZ
Üye
Mesajlar: 14
Kayıt: 02 Oca 2008 04:55
Konum: İstanbul

SORGU İLE KAYIT

Mesaj gönderen Mustafa YILMAZ »

Veritabanında bulunan tablodaki verileri kullanan bir program üzerinde çalışıyorum. Tablodaki verileri daha çok sorgulama işlemine tabi tutup, bu sorguya göre bana uygun olanları örneğin bir checkbox kullanarak programda uygun yerlere atamayı düşünüyorum. Ancak ara sıra da tabloya veri girmek gerekiyor. Tablo kayıtlarını göstermek için 2 DBEdit, 1 DBRichEdit ve 1 DBRadioBox (Tanım, özellik vb... için 0,1,2,3,4 değerleri ile) kullandığımızı düşünerek; Bu ve buna benzer yapıları kurmak için aşağıdakilerden veya sizlerin önereceği hangi yolu kullanmak daha pratik ve uygun olur.

1-Projeye 1 Query , 1 Table ve Table1'e bağlı navigator eklemek. Tabloyu başlangıçta sorguya bağlamak. Sorgu-kayıt seçeneği ekleyip kayıt düğmesi tıklandığında Query1.Close ve table1.Open ile table1'i aktif yaparak kayıt yapmak :
bu bayağı uğraştırıcı oluyor ve DBRadiobox Query aktif iken sorun oluyor. Aslında Query ile de kayıt eklenebilir ancak RadioboxClick olayına Sorgu eklendiği için, yeni kayıt amacıyla diğer bileşenlerin içini boşaltarak değer girmek için Radiobox tıkladığınızda SQL devreye giriyor.
2-Tablodaki kayıtları DBEdit vb. bileşenlere değil de, normal Edit vb. bileşenlere doldurmak (bunu denemedim ama her sorgudan sonra aktif kayıttaki bilgilerin gerekli bileşenlerde gösterilmesi için DataSource Onchange olayına ve DBGrid'in MouseDown olayına kod yazmak gerektiğini düşünüyorum, bilen bilgilendirirse sevinirim), yeni veri girileceği zaman bir button ile içrikleri temizleyip, RadioBox'un Click (veya change) olayını etkisiz hale getirmek için olaya nil değeri atamak gerekli bilgileri girdikten sonra Kaydet isimli butonla da kayıt işlemini tamamlamak ve sonrasında RadioBox'un Onchange olayına yine eski değerini atamak vb..
Arkadaşlar bunun daha kolay veya pratik yolları var mıdır veya yukarıdaki gidişat ne derecede doğrudur. Konu hakkında Query ve table olarak formda arama yaptım ancak tam olarak istediğim bilgiyi alamadım ( veya gözümden kaçan başlıklar da olabilir). İlgilenen herkese şimdiden teşekkürler....
Kilitli