SQL Table ilişkilendirmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
SQL Table ilişkilendirmek
Merhaba Ben bu soruyu daha öncede sordum ama hala cevabını alamadım. 2 tane tablom var bunlar MUSTERBIL ve MUSTERIURUN
MUSTERIBIL.DB deki alanlarım
MUSTERINO
ADI
SOYADI
ADRESI
TEL
MUSTERIURUN.DB deki alanlarım
MUSTERINO
URUNNO
URUNADI
URUNSERINO
Bu tablalar için 2 adet SQL ve DataSource Kullanıyorum.
MUSTERIBIL.DB deki SQL le şunları yazıyorum
SELECT * FROM MUSTERIBIL
WHERE MUSTERIBIL.MUSTERINO=MUSTERINO
Formdaki UrunNo alanınada sıra verdirterek o kişiye diğer veri tananından birden fazla kayıt girdirmek istiyorum ama ilişkilendirme yaptığımda Read Only hatası alıyorum Request Live True ve False olarak denedim ama sonuç alamadı böyle bir işikilendirmeyi SQL ile nasıl yaparım Bu çok önemli benim için Yardımlarınızı Bekliyorum. Herkese Kolay Gelsin
MUSTERIBIL.DB deki alanlarım
MUSTERINO
ADI
SOYADI
ADRESI
TEL
MUSTERIURUN.DB deki alanlarım
MUSTERINO
URUNNO
URUNADI
URUNSERINO
Bu tablalar için 2 adet SQL ve DataSource Kullanıyorum.
MUSTERIBIL.DB deki SQL le şunları yazıyorum
SELECT * FROM MUSTERIBIL
WHERE MUSTERIBIL.MUSTERINO=MUSTERINO
Formdaki UrunNo alanınada sıra verdirterek o kişiye diğer veri tananından birden fazla kayıt girdirmek istiyorum ama ilişkilendirme yaptığımda Read Only hatası alıyorum Request Live True ve False olarak denedim ama sonuç alamadı böyle bir işikilendirmeyi SQL ile nasıl yaparım Bu çok önemli benim için Yardımlarınızı Bekliyorum. Herkese Kolay Gelsin
Merhaba,
Büyük bir ihtimalle kodlama hatası yapıyorsunuzdur. Yazdığınız kodları Copy Past yapıp ekleyiniz bir inceleyelim bakalım.
Kolay Gelsin...
Büyük bir ihtimalle kodlama hatası yapıyorsunuzdur. Yazdığınız kodları Copy Past yapıp ekleyiniz bir inceleyelim bakalım.
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Sorunum devam ediyor
ben iki doğru yazdığıma inanıyorum ama kodlar aynı size yukarıda belirttiğim gibi neden olmuyo acaba
Veritabanı paradoks mu? Query bileşeninde ve DBGrid bileşeninde ReadOnly yı kontrol et. False mı?
Ayrıca sql aşağıdaki şekilde yazıp deneyebilirsin.
Ayrıca sql aşağıdaki şekilde yazıp deneyebilirsin.
Kod: Tümünü seç
SELECT mb.MUSTERINO FROM MUSTERIBIL mb, MUSTERIURUN mu
WHERE mu.MUSTERINO = mb.MUSTERINO
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
eger iki tabloyada kayıt gireceksen master-detail bağlantı yapmak zorundasın
dilim dondugunce anlatayım
bunun icinde master MUSTERIBIL de MUSTERINO primary index olacak(AUTOINC daha iyi olur)
MUSTERIURUN de MUSTERIURUNID diye AUTOINC bir alan olustur be primary index olsun ayrıca MUSTERINO alanını da Master-Detail baglantı icin kullanacagız onun icin Secondary index tanımla ama Unique olmasın
MUSTERIURUN tablosunun mastertable ına MASTERBIL i sec MasterFields ise
MUSTERINO lar olacak
bu sekilde iki DbGrid koydugun zaman bir musteri bilgisi olusturup onun altına urunlerini girebilirsin
URUNNO alanının URUN tablosuna lookup yapılması lazım
dilim dondugunce anlatayım
bunun icinde master MUSTERIBIL de MUSTERINO primary index olacak(AUTOINC daha iyi olur)
MUSTERIURUN de MUSTERIURUNID diye AUTOINC bir alan olustur be primary index olsun ayrıca MUSTERINO alanını da Master-Detail baglantı icin kullanacagız onun icin Secondary index tanımla ama Unique olmasın
MUSTERIURUN tablosunun mastertable ına MASTERBIL i sec MasterFields ise
MUSTERINO lar olacak
bu sekilde iki DbGrid koydugun zaman bir musteri bilgisi olusturup onun altına urunlerini girebilirsin
URUNNO alanının URUN tablosuna lookup yapılması lazım
ÜŞENME,ERTELEME,VAZGEÇME
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Konu epey uzamış ama malesef bir çare olmamaış galiba....
Sinan bey, aslında tam olarak meselenin nerede oldugunu da anlayabilmiş değilim yani. Bahsettiginiz hatayı veren Query nesnesinin icindebu kodlar mı yazıyor...
Eger oyleyse esitligin sagındaki MUSTERINO nedir? Eger bu degilse ki zaten 2 adet sql ve datasoruce kullanıyorum demişsiniz ben bunu 2 adet TQuery nesnesi kullandığınız olarak anlıyorum. O zaman digerinin icinde yani SQL ozelliginde ne yazıyor. Ve de hata hangisinde var...
Butun bunların dışında iki TQuery nesnesini birbiri ile master detay ilişkilendirmek için detay Query'nin datasource 'u olarak master'î secmeniz ve detay'daki SQL cümlesinin where kısmında gecmesi gerekir.
Eger detay TQuery'nin SQL cümlesi icinde join islemi varsa yani 2 tablodan bilgi cekiyorsanız zaten read only olmak zorunda onu ancak TUpdateSQL kullanarak güncelleyebilirsiniz....
Kolay gelsin...
Sinan bey, aslında tam olarak meselenin nerede oldugunu da anlayabilmiş değilim yani. Bahsettiginiz hatayı veren Query nesnesinin icinde
Kod: Tümünü seç
SELECT * FROM MUSTERIBIL
WHERE MUSTERIBIL.MUSTERINO=MUSTERINO
Eger oyleyse esitligin sagındaki MUSTERINO nedir? Eger bu degilse ki zaten 2 adet sql ve datasoruce kullanıyorum demişsiniz ben bunu 2 adet TQuery nesnesi kullandığınız olarak anlıyorum. O zaman digerinin icinde yani SQL ozelliginde ne yazıyor. Ve de hata hangisinde var...
Butun bunların dışında iki TQuery nesnesini birbiri ile master detay ilişkilendirmek için detay Query'nin datasource 'u olarak master'î secmeniz ve detay'daki SQL cümlesinin where kısmında
Kod: Tümünü seç
MUSTERI_NO=:MUSTERI_NO
Eger detay TQuery'nin SQL cümlesi icinde join islemi varsa yani 2 tablodan bilgi cekiyorsanız zaten read only olmak zorunda onu ancak TUpdateSQL kullanarak güncelleyebilirsiniz....
Kolay gelsin...
* http://www.fahrettin.org Manzara Fotoğraflarım...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
abi ben de hemen bir uygulama yaptım
detail tabloya bir kayıt girince master in bagladıgım numarasını almıyor.
ben de detailin before post olayına
gibi bir kod eklemek zorunda kaldım
bunsuz olmuyor mu acaba?
detail tabloya bir kayıt girince master in bagladıgım numarasını almıyor.
ben de detailin before post olayına
Kod: Tümünü seç
with QuerySube do
FieldByName('MUS_ID').AsInteger:= Params[0].AsInteger;
bunsuz olmuyor mu acaba?
ÜŞENME,ERTELEME,VAZGEÇME
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
cok fazla ugrasma sansim yok. Fakat gondermissiniz zaten....
Tercih ettigim yontem burdan soylediklerimi yapıp ozellikle de sorduklarıma cevap vermeniz ve bu sekilde cozume gitmeniz seklindedir.
Koda baktım. ilk gordugum hata master tabloya giris yapılmasına read only oldugu icin izin vermiyor... Bunun sebebini de bir onceki mesajimda yazmistim..
Eger soruyu sorarken hatayı veren Query1 icindeki SQL cumlesini yazsaydınız ki bunu da sormustum. Bu kadar beklemeden cozume ulasirdik....
Tabi bu meseleyi asinca detay tablo konusunda muhtemelen takılacaksınız cunku orada da yine daha once belirttigim
eksik....
Kolay gelsin....
Tercih ettigim yontem burdan soylediklerimi yapıp ozellikle de sorduklarıma cevap vermeniz ve bu sekilde cozume gitmeniz seklindedir.
Koda baktım. ilk gordugum hata master tabloya giris yapılmasına read only oldugu icin izin vermiyor... Bunun sebebini de bir onceki mesajimda yazmistim..
Master tablo olan Query1 in SQL'i icinde urun tablosu ile join yapmak tamamen gereksiz.Fahrettin yazdı:Eger detay TQuery'nin SQL cümlesi icinde join islemi varsa yani 2 tablodan bilgi cekiyorsanız zaten read only olmak zorunda onu ancak TUpdateSQL kullanarak güncelleyebilirsiniz....
Eger soruyu sorarken hatayı veren Query1 icindeki SQL cumlesini yazsaydınız ki bunu da sormustum. Bu kadar beklemeden cozume ulasirdik....
Sadece musteri tablosundan bir select yapmalısınız....Fahrettin yazdı:Sinan bey, aslında tam olarak meselenin nerede oldugunu da anlayabilmiş değilim yani. Bahsettiginiz hatayı veren Query nesnesinin icindeKod: Tümünü seç
SELECT * FROM MUSTERIBIL WHERE MUSTERIBIL.MUSTERINO=MUSTERINO bu kodlar mı yazıyor...
Kod: Tümünü seç
SELECT Musteri.MUS_NO, Musteri.ADI, Musteri.SOYADI
FROM "Musteri.db" Musteri
Kod: Tümünü seç
where MUSNO=:MUS_NO
Kolay gelsin....
* http://www.fahrettin.org Manzara Fotoğraflarım...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa