Stored Procedureler Arasında İlişki
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- osmantaskiran
- Üye
- Mesajlar: 34
- Kayıt: 17 Nis 2004 09:27
- İletişim:
Stored Procedureler Arasında İlişki
Merhaba;
Delphi 7 ve sql server 2000 kullanıyorum. sql de iki adet stored procedure yarattım bunları delphide ado stored procedure ile getirdim. Bu iki procedure dede ortak alan "Kodu" alanı.
Masterdeki "Kodu" alanına göre "Detay" ı "Kodu" alanına göre ilişkilendirmek istiyorum.Detay stored procedure bileşenine dataset olarak masteri gösterdim ama yemedi. Bunu nasıl yapabilirim.
Delphi 7 ve sql server 2000 kullanıyorum. sql de iki adet stored procedure yarattım bunları delphide ado stored procedure ile getirdim. Bu iki procedure dede ortak alan "Kodu" alanı.
Masterdeki "Kodu" alanına göre "Detay" ı "Kodu" alanına göre ilişkilendirmek istiyorum.Detay stored procedure bileşenine dataset olarak masteri gösterdim ama yemedi. Bunu nasıl yapabilirim.
- osmantaskiran
- Üye
- Mesajlar: 34
- Kayıt: 17 Nis 2004 09:27
- İletişim:
Örnek
Şöyle bir olayım var diyelim.
1.Tablo:öğrenci nosu,adı,soyadı
2.tablo:öğrencinosu,derskodu
3.tablo:derskodu,dersadi
1.tablom master tablo.
2.tablomda detail
iki adet gridim var.
1.gridde master veriler, 2. gridde detail veriler.
1.gridde her üstüne geldiğim öğrencinin aldığı dersleri 2.gridde göstermek istiyorum. bunu eskiden ado table lar veya ado query ile rahatça yapabiliyorum fakat şimdi yapamıyorum ve yapmak istiyorum.
Yardımcı olursanız sevinirim.
Teşekkürler...
1.Tablo:öğrenci nosu,adı,soyadı
2.tablo:öğrencinosu,derskodu
3.tablo:derskodu,dersadi
1.tablom master tablo.
2.tablomda detail
iki adet gridim var.
1.gridde master veriler, 2. gridde detail veriler.
1.gridde her üstüne geldiğim öğrencinin aldığı dersleri 2.gridde göstermek istiyorum. bunu eskiden ado table lar veya ado query ile rahatça yapabiliyorum fakat şimdi yapamıyorum ve yapmak istiyorum.
Yardımcı olursanız sevinirim.
Teşekkürler...
Dediğiniz gibi table veya quer nesneleri ile bunu kolayca yapabilirsiniz... Karşınıza çıkan engel ne oldu?
Ne tür hatalar aldınız?
Ne tür hatalar aldınız?
* 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...

- osmantaskiran
- Üye
- Mesajlar: 34
- Kayıt: 17 Nis 2004 09:27
- İletişim:
Cevap2
1.tabloya ait master verilerimi stored procedure ile almıştım zaten.(başka bir yerde de kullanıyorum)
fakat detay bilgileri query ile almaya kalktım. "where AlanKodu= :'Masterdeki_Alan_Kodu'" şeklinde ve detay datesource unu master stored procedure göstererek ama buda yemedi. sanırım stored procedure den parametreyi alamadı.
Daha sonra detayıda stored procedure şekline çevirdim.Detay stored procedure dışarıdan parametre alıyordu detay stored proceduründe datasource sini master stored procedure yaptım fakat bununla da olmadı.
Sonuç olarak istediğim ise master ve detay verileride stored procedure yardımı ile getirebilmek. Çünkü işlerin server tarafında yapılmasını cliente sadece sonuç verilerin gelmesini istiyorum.
Yardımcı olursanız teşekkür ederim.
İyi çalışmalar...
fakat detay bilgileri query ile almaya kalktım. "where AlanKodu= :'Masterdeki_Alan_Kodu'" şeklinde ve detay datesource unu master stored procedure göstererek ama buda yemedi. sanırım stored procedure den parametreyi alamadı.
Daha sonra detayıda stored procedure şekline çevirdim.Detay stored procedure dışarıdan parametre alıyordu detay stored proceduründe datasource sini master stored procedure yaptım fakat bununla da olmadı.
Sonuç olarak istediğim ise master ve detay verileride stored procedure yardımı ile getirebilmek. Çünkü işlerin server tarafında yapılmasını cliente sadece sonuç verilerin gelmesini istiyorum.
Yardımcı olursanız teşekkür ederim.
İyi çalışmalar...
stored procedure yapmak iyi fikir tabi ki....
Dediginiz sekilde detay SP'nin datasource 'u olarak masteri gostermek yetiyor olmali.
Fakat verdiginiz ornekte
Olmazsa yazdiginiz SQL'i tam olarak gonderin.
Kolay gelsin...
Dediginiz sekilde detay SP'nin datasource 'u olarak masteri gostermek yetiyor olmali.
Fakat verdiginiz ornekte
'Masterdeki_Alan_Kodu' tırnak icinde. Bu sekli yanlıs. Ornegin bu sekilde olmalı ve master tabloda da Alan_kodu alanı olmalı. Yani parametre tırnak icinde olmamalı."where AlanKodu= :'Masterdeki_Alan_Kodu'"
Kod: Tümünü seç
AlanKodu= :Alan_Kodu
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...

- osmantaskiran
- Üye
- Mesajlar: 34
- Kayıt: 17 Nis 2004 09:27
- İletişim:
cevap3
söylediğiniz şekilde;
master-->stored procedure
detail-->ado_query şekli ile tırnak işareti olmadan çalıştı.teşekkürler.
Fakat ben biraz daha zorlayarak detayıda stored procedure haline getirip detay verileri sp ile getirmek istiyorum.
bunu yapmak için detay sp nin datasource sini maste sp yaptım.fakat olmadı.
sizce masterde return değeri ile detayda artifikal key olarak tanıttığım alanı mı döndürmem gerekiyor, başka nasıl olabilir?
master-->stored procedure
detail-->ado_query şekli ile tırnak işareti olmadan çalıştı.teşekkürler.
Fakat ben biraz daha zorlayarak detayıda stored procedure haline getirip detay verileri sp ile getirmek istiyorum.
bunu yapmak için detay sp nin datasource sini maste sp yaptım.fakat olmadı.
sizce masterde return değeri ile detayda artifikal key olarak tanıttığım alanı mı döndürmem gerekiyor, başka nasıl olabilir?
ben master ve detay'ta TQuery kullanarak veritabanı tarafindaki iki ayri SP'u master detay olacak sekilde baglayabiliyorum.
Ornegin detay query'nin SQL'ine: SP'yi cagirmak icin kullanılan parametreler master'dan alındığı için istediğinizi yapacaktır...
Bu arada gozumden kacmış:
Ornegin detay query'nin SQL'ine:
Kod: Tümünü seç
SP_RAPOR_DETAY :FIRMA_NO, :BILET_NO
Bu arada gozumden kacmış:
Database tarafındaki SP'leri Query nesneleri ile cagirilarak yapılabiliyor. Ben hep kullanıyorum...Admin yazdı:stored procedure'ler arasında master-detail ilişki olamaz??
* 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...

- osmantaskiran
- Üye
- Mesajlar: 34
- Kayıt: 17 Nis 2004 09:27
- İletişim:
cevap4
harika...sonunda çalıştı.ilgilendiğiniz ve yardımlarınız için teşekkür ederim.
Bunun haricinde bir soru sormak istiyorum.
Ben şimdiye kadar stored procedure olmadan veritabanı programı yazıyorum. Son 2 haftadır stored procedure kullanıyorum.
Eski kullandığım sistem ado table ve queryler , ondan öncede bde idi.
hem ado hemde bde ve tablolarda filtreleme yada where kullandığım zaman query nin sorguladığı tablo ve/veya tablolar içindeki tüm veri cliente geliyor sonra filtreleniyor diye biliyorum. Bunun doğruluğu nedir?
Tekrar teşekkürler, iyi çalışmalar...
Bunun haricinde bir soru sormak istiyorum.
Ben şimdiye kadar stored procedure olmadan veritabanı programı yazıyorum. Son 2 haftadır stored procedure kullanıyorum.
Eski kullandığım sistem ado table ve queryler , ondan öncede bde idi.
hem ado hemde bde ve tablolarda filtreleme yada where kullandığım zaman query nin sorguladığı tablo ve/veya tablolar içindeki tüm veri cliente geliyor sonra filtreleniyor diye biliyorum. Bunun doğruluğu nedir?
Tekrar teşekkürler, iyi çalışmalar...
Buna %100 evet diyemiyorum. Çünkü farklı yapılarda sonuç değişiyor olabilir. Mesela klasik TTable üzerinde yapacağınız filtrelemer için dediğiniz gibi herşey client'a geliyor diye biliyorum. Eger BDE ile TQuery kullarnısanız o zaman da BDE ayarlarında SQLQRYMODE un Local veya Server olmasına gore tabi veritabanınız client server bir veritabanı ise degişecektir. Ama sonuçta stored procedure'lerin server tarafında çalışıtı kesin...osmantaskiran yazdı:Eski kullandığım sistem ado table ve queryler , ondan öncede bde idi.
hem ado hemde bde ve tablolarda filtreleme yada where kullandığım zaman query nin sorguladığı tablo ve/veya tablolar içindeki tüm veri cliente geliyor sonra filtreleniyor diye biliyorum. Bunun doğruluğu nedir?

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...
