Query sonucunu DBGrid e aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

Query sonucunu DBGrid e aktarma

Mesaj gönderen vipaydin »

Merhaba.

Elimde 2 tane tablo var.

Table1

REF ADI SOYADI ŞEHİR
1 .... ..... .....
2 .... ..... .....

Table2
REF TABLE1REF AMOUNT TOTAL
1 1 10 100
2 4 20 200
3 8 30 300

gibi.

Table2 üzerinde çalışan bir query var. Query biraz karışık. GROUP BY ve HAVING ile özetlenmiş bir sonuç üretiyor.

Ekran üzerindeki DBGRid e ise Table1 de Table2 ile eşleşen alanlar getirilecek. Yani Table1.REF=Table2.TABLE1REF.

Table1'in query string'de

Kod: Tümünü seç

SELECT * FROM Table1 WHERE REF=:P1
şeklinde alıyorum. P1 parametresine çalışan diğer query'deki sonucu almak için;

Kod: Tümünü seç

FieldByName('TABLE1REF')
tanımı yaptım.

Benim net olarak yapmak istediğim, Table2 de süzülen kayıtların TABLE1REF numaralarını almak, Table1 REF alanı ile eşleştirmek ve ekranı DBGRid nesnesinde göstermek.

DBGrid nesnesine tabii ki Table1 bağlı.

Ama Grid nesnesine sadece bir kayıtı getirtebildim. Sonuç 50 adet üretiliyorsa bile sadece bir tanesini getirebiliyor.

Bunun çözümü nedir?

Teşekkür ederim, iyi çalışmalar.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

İki tabloyu join le tek sorguda birleştirerek yaparsın.Örnekli anlatım linki: viewtopic.php?t=9193&highlight=join
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

Mesaj gönderen vipaydin »

Cevabınız için teşekkür ederim.

Aslında join ile olabilir ama performans sorunu olacağını zannediyorum.
Table2 dediğim query e zaten 5-6 tane tablo birleşiyor.
Çalışan o query de sorun yaşamaktan korkuyorum.
Table1 de ise yaklaşık 200 tane sütun var.
Join ile yapacak olursam çok uzun bir string oluşuyor.
Ayrıca Table2 deki Table1REF ile başka düşündüklerimde var. Mesela Table2 deki alanları ayrıca edit lere taşımak gibi.

Teşekkür ederim.
Cevapla