Söylediğini ben anlayamadım. And ile birleştirince sorgunun her iki tarafının da tutması gerekir. (Bunu sorduğunu sanmıyorum.)
Eğer anahtarın ve değerin birlikte dönmesinden bahsediyorsan onu da ikisinden oluşan bir yapı olarak döndürebilirsin. Yani bir kere bulduktan sonra onunla ilgili istediğin veriyi döndürebilirsin.
Ben yine de anladığımı sandığım soruyu SQL deneyimim olmadan yanıtlamaya çalışıyorum: :)
SQL gibi bir düzenekte veri genellikle başka bir programda ve hatta başka bir sunucuda olabiliyor. Öyle olduğu için veriyi teker teker almak çok zaman kaybına neden olabilir: Program ilk uyan veriyi kullanacak sonra "sonrakine geç" diyecek; bu çağrı sunucuya gidecek; işlenecek; geri gelecek... Yavaş iş. (Aslında veri çok büyük olduğunda yararlı olan 'cursor' kavramı da var.)
Hem o yüzden hem de zaten en kolayı olduğu için sonuçların hepsini birden gönderilir. (Biz SQL kullanmıyoruz ama bizde de uyan veriler tek parça halinde gönderiliyorlar.)
Sen de bunu uygulayabilirsin: Uyan bütün veriyi tek dilim halinde döndürürsün; olur biter. Çoğu SQL kullanımı ile aynı işi yapmış olursun.
Ama senin durumunda veri ile program yan yana olduklarından bir avantajdan yararlanmak isteyebilirsin: Sorgulanan veriyi teker teker sunmak. Böylece hepsini tutacak kadar büyük bir dizi oluşturulması gerekmez; ve belki de yeterli olan ilk bir kaç veriden gerisi sorgulanmamış olur.
Ben kolay olduğu için hiç olmazsa şimdilik dilim döndürmeni öneririm.
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]