Query ile Master-Detail baglantisi ?!

C, C++ ve C++ Builder ile ilgili konuları buraya yazabilirsiniz.
Cevapla
permer
Üye
Mesajlar: 1
Kayıt: 25 Şub 2005 01:34

Query ile Master-Detail baglantisi ?!

Mesaj gönderen permer »

Merhabalar......
Ben Builderde basit bir öğrenci takip programiyle ugrasiyorum. Malzemeler kisaca soyle:
3 tane Paradox tabanli .db dosya .(ogrenci.db , veli.db , taksit.db)
DataSource1 , Query1 , UpDateSQL1 , DBNavigator1 ve birkac tanede DBEdit,DBComboBox,DBMemo
3 .db dosyasinda hem Adsoyad diye bir alan var(Bu alani bunlari birbirine baglamak için koydum). DataSource1 , Query1 , UpDateSQL1 , DBNavigator1 kullanarak Tek bir .db (mesela ogrenci.db) dosyasinda sorgulamada,Guncellemede,Eklemede,Cikarmada yapabiliyorum.
Sorun su:
1-) Benbu 3 .db dosyasina ayni anda sorgulama, ekleme, cikarma, guncelleme Nasil yapabilirim. Yani bu 3 .db dosyasini nasil master-detail olarak baglayabilirim.

2-) Bir Paradox *.db dosyasinda 20 den fazla alan (Attribut ?!) tanimlamak tehlikeli diyorlar Bu dogrumu acaba?

ogrenci.db alanlari
Adsoyad,Baba,Anne,DogumYeri,DogumTarihi,EvAdres,Taksit,Veli,......
veli.db alanlari
Adsoyad,VeliAdsoyad,YakinlikDerecesi,Telefonu,Adresi......
taksit.db alanlari
Adsoyad,Tutar1,Tarih1,MakbuzNo1,Odenen1,Tutar2,Tarih2,MakbuzNo2,Odenen2,......

Bazi ogrencilerin veli.db bilgisi yok yani girilmeyecek.Olanlarin girilecek.
Bazi ogrencilerin taksit durumu yok.
Bazi ogrencilerin ise ne taksit ne de veli bilgisi yok.

Sorun su: Bu 3 tane .db dosyasindaki tum alanlari Query1 e baglamak isriyorum.
bilen varsa Yardimci olursaniz cok sevinirim Tesekkurler......
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

farklı tablolar arasında ilişki kurmak için bazı unique alanlar tanımlaman gereklidir. Bu tc kimlik no gibi bişeydir. Her öğrenci için bi tane ID (tekrar etmeyen bir numara, kod, karakter dizisi) tanımladıktan sonra o öğrenci için diğer tablolarda açtığın her kayıt için de o tablolardaki bir alana, mesela OgrenciID gibi, Öğrenciyi tanımladığın tablodaki o öğrenciye ait ID noyu yazarsın. Daha sonra herhangi bir öğrenci için yapacağın işlemlerin için öncelikli hareketin o öğrencinin ID sini okumak olur. Okudğun ID den başka kimsede olmadığı için, diğer tablolalarda da bu ID ' ye ait alanlara konuşlanır ve oradaki işlemlerini gerçekleştirirsin. Bu şekilde programatik olarak tablolar arasında ki ilişkilerini kurmuş olursun.

kolaygelsin.
Cevapla