fetchAll

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

fetchAll

Mesaj gönderen White Rose »

s.a.

Arkadaşlar d7+Firebird1.5 ve fibplus6.30 kullanarak bir proje ile uğraşıyorum.
Kayıt girişi formunda 3 adet dataset(fibplus) kullanıyorum,
birinin bağlı olduğu Table'de 15.000 kayıt var, birinde 150 diğerinde 10 adet.
Formun show olayında üçünü de open ile açıyorum.
Datasetlerin fetchall özellikleri True olduğu zaman bu datasetlerin açılması birkaç saniye sürüyor, false yapınca hemen açılıyor ancak bu durumda da
recordcount sayısında gerçek rakamı vermiyor.
Halbuki 15.000 kayıt firebird için çok önemli değil, bunu forumda öğrendim. Nedeni ne olabilir acaba.
2. bir durum datasetlerde index kullanımının ...ORDER by... dışında başka bir kullanımı yok mu ?. Teşekkürler
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Tüm kayıtları bir anda listeleyip kullanmıyacaksanız sadece RecordCount için FetchAll yapmanın bir mantığı yok :idea: Onun yerine bir select ile

Kod: Tümünü seç

select count(*) KayitSayisi from tablo_adi
ile kayıt sayısını almanız mümkün :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

rsimsek hocam cevap için teşekkür ederim,
ancak benim esas anlamadığım bir dataset'in open olayında firebird'in 15.000 kayıt için neden bu kadar beklediği, bu normal mi?

Ben aynı vt'nı Paradox ile ağ üzerinden kullanıyorum, bu kadar yavaş çalışmıyor.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

FetchAll ile alınca olabilir. Ayrıca Grid veya Calculate alanlar falan da varsa normaldir. DataSet.DisableControls deyip deneyebilirsin :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Lookup alan kullanıyorsanız yavaşlık ondan kaynaklanıyordur.

Yeni bir proje açıp sadece 15.000 kayıt olan tabloyu en basit haliyle forma yerleştirip fetchall yaparak test edip eğer aynı sonucu alırsanız sorun yazılım(cının) dışında olacaktır.

İyi çalışmalar.
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

hocam dbgrid yok normal dbeditler ve dbcomboboxlar var
fakat fetchall kullanmazsam kayıt pozisyonunu göremiyorum bunu için her post sonunda yada delete sonucu select max(.... ile bunu almam gerekiyor.
Cevapla