Detailde kayıtno sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Detailde kayıtno sorunu

Mesaj gönderen Arifceylan28 »

Selamlar.ibdatasetleri bağlayarak bir master detail tablo oluşturdum.Master tabloya bi kayıt giriyorum.Daha sonra Detaile kayıt giriyorum.Detail tabloya birden sonraki kayıtları post ettikten sonra diğer kayıtlar detaildeki birinci kayıt ile aynı oluyor.Fakat görünürde.Masterda kayıt değiştirip tekrar eski kayıda geçtiğimde eklediğim kayıtlar düzgün gözüküyor.
Bu ekleme esnasında detaildeki kayıtlar neden aynı gözüküyor anlayamadım.Yardımlarınızı bekliyorum.
En son Arifceylan28 tarafından 30 Ağu 2004 10:01 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

detail tablolara master tablonun id si otomatik (table da oldugu gibi) olarak yazılmıyor
bunu detailin beforepost olayına sizin eklemeniz lazım
ÜŞENME,ERTELEME,VAZGEÇME
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

Dediğinizi tam anlayamadım.Yani bağladığım alanın değerini detailin beforepost olayında ekliyorum.Fakat sorun şöyle oluyor.
örneğin detail tabloda kayıt ekliyorum.

Kayıtno Cihazno Bilgi
1 1 Bozuk
1 2 Çok bozuk

Bu haldeyken post ediyorum.Görünürde şu hale geliyor

Kayıtno Cihazno Bilgi
1 1 Bozuk
1 1 Bozuk
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

Foruma iki tane ibdataset,bi transaction,ibdatabase,2 datasource yerleştiriyorum.dataset2nin datasourcesini ibdataset1e yönlendiriyorum. Selectsqline where kayitno=:kayitno ekliyorum.İbdataset2nin beforepost olayına
ibdataset2.FieldByName('kayitno').AsInteger :=ibdataset1.fieldbyname('kayitno').asinteger;
yazıyorum.Masterda generator de kullandım.
Forma iki dbgrid navigatör vs ekledim.

Database de şöyle.
master
Kayitno: primary integer
Adi : char
Soyadi : char
Detail
Kayitno :primary integer
musno :primary integer
Adres :char

Acaba biryerde yanlışlık mı yapıyorum diye yazdım.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

detail kayıtları mastera baglamak icin hangi alanı kullanıyorsun?
detail de FK yani mastera baglamak ciin kullanacagın alan primary olmamalı
eger olursa bu master-detail 1-1 baglantı olur.
boyle bir baglantının da hicbir anlamı olmaz.
anladıgım kadarı ile detail deki musno master a baglanan alan. bu primary olmayacak.
detail sql i de 'where musno=:kayitno' seklinde olmalı
yani parametre ismi ile master daki baglanacagın alan ismi aynı olmalı
bunları bir yap.
+ master detail :ara dediginde gelen baslıkları dikkatlice oku
olayın mantıgı aslında cok basit. hatta bu konu ile ilgili BDE icin Delphi Demos ta ornek bile var
adam paradox query leri icin yapmıs ama mantık aynı dedigim gibi
biraz arastırmacı olun yaw,programcı olmak arastırarak kazanılır.
hadi kolay gelsin
ÜŞENME,ERTELEME,VAZGEÇME
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

Hocam araştırıyorum yaw. :? Araştırdım da böyle yapılıyor sandım.Yanlış anlamalar olmuş galiba.Kayitnoları birbirine bağlıyordum.Foreignkey hiç kullanmadım. :oops:
Paradoxda falan master detail çok yaptım fakat interbasede biraz tökezledim.
Gökhan hocam sağolasın.Seni çok iyi anlıyorum.Dediklerinize de katılıyorum.Araştırmacı olmadan programcı olunmaz.Pat diye herşey öğrenilmiyor.Dediklerinizi yapacağım.
Saygılar.
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 01:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 »

Tamamdır şimdi oldu.Teşekkür ederim.
Cevapla