Select ifadesini bölümlendirmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
paranoyaks
Üye
Mesajlar: 31
Kayıt: 04 Oca 2008 01:53
Konum: Adana

Select ifadesini bölümlendirmek

Mesaj gönderen paranoyaks »

Herkese kolay gelsin;
Projemde bir çok sayfada liste formları kullanıyorum ve bu liste formlarının bazıları baya yoğun programı kullanan insan sayısıda fazla, stored procedure olarak yaptım bir çoğunu fakat yinede formların açılışındaki veri dolumunu hızlandıramadım. Oracle veri tabanına bağlanıp select ifadesi ile bir tablodan veri çekilince gridi full doldurmuyor bir miktar veri getiriyor bu sayede form hiç kasılmıyor fakat SQL kullanıyorum bu projemde ve Oracle kullanma şansım yok SQL ile açılan forma sadece gridi dolduracak kadar veri getirmek istiyorum oracle daki gibi scroll barı aşağıya çektikce geri kalan veriler dolsun istiyorum konu ile ilgili bilgi sahibi bir arkadaşımız varsa bilgilendirirse çok sevinirim zaman ayırıp okuduğunuz için teşekkürler.
paranoyaks
Üye
Mesajlar: 31
Kayıt: 04 Oca 2008 01:53
Konum: Adana

Re: Select ifadesini bölümlendirmek

Mesaj gönderen paranoyaks »

Konu günceldir henüz çözüm bulunamadı
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Select ifadesini bölümlendirmek

Mesaj gönderen mrmarman »

(1) Bir formun yüksekliğine göre kaç bir gridde satır görüntülendiğini bulmanız kolay. Bunu yaparsınız.
(2) SQL bildiğinize göre burada da sorun yok, keza SELECT TOP n FROM tablo dediğinizde tepeden kaç tane kayıt alabileceğinizi verebiliyorsunuz. SQLServer ile böyle MySQL ile LIMIT, Oracle ile ROWNUM vs.vs.
(3) Geriye aşağı yukarı kaydırdığınızda görmek istediğiniz kayıt sayısının sadece başlangıç indeksi değişecek. Şöyle ki, kayıt nosu 1'den 10'a kadar göstersin diye

Kod: Tümünü seç

SELECT TOP 10 FROM Tablo
derken 20'den 30'ye kadar olanda

Kod: Tümünü seç

SELECT TOP 10 FROM Tablo WHERE KayNo NOT IN ( SELECT TOP 19 KayNo FROM Tablo )
dersin.

mantığı anlatabilmişimdir sanırım.
Resim
Resim ....Resim
paranoyaks
Üye
Mesajlar: 31
Kayıt: 04 Oca 2008 01:53
Konum: Adana

Re: Select ifadesini bölümlendirmek

Mesaj gönderen paranoyaks »

Oracle veritabanına bağlandığınız zaman mouse ile gridin üstünde iken scroll u aşağıya çevirdikçe multazam şekilde veriler geliyor tabiki bu orjinallikte yapamayacağımı biliyorum dediğiniz mantık güzel ayarlanabilir 3 aşşağı 5 yukarı denemekte fayda var fakat ben scroll u aşağı çevirdiğini nasıl anlayacam ve diyelimki google de kodunu buldum onun 10 kayıt 10 kayıt şeklinde aşağı çekmeye başladım ilk gösterdiklerimden sonrakini göstermeye başlarsam sayfa sayfa ilerlemiş olmayacakmıyım ?
şuda olabilir gridin scroll u sona dayanınca üstüne bir 100 kayıt daha ekleme şeklinde düşünürsek daha iyi bir sonuç çıkar sanırım
paranoyaks
Üye
Mesajlar: 31
Kayıt: 04 Oca 2008 01:53
Konum: Adana

Re: Select ifadesini bölümlendirmek

Mesaj gönderen paranoyaks »

şu anda scroll un sonda olduğunu anlamayı bulmaya çalışıyorum bulursam çözüm şu her sona dayandığında
Sayi := 100;
SELECT TOP('+Sayi+') FROM ....

devamındada her sona dayandığında
Sayi := Sayi + 100;

şeklinde olur.

Teşekkür ederim yardımın için
Scroll meselesini benden önce çözersen yine beklerim :)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Select ifadesini bölümlendirmek

Mesaj gönderen mrmarman »

Scroll meselesini çözememek için ne sebep var ki ?
(1) Her kayıt konumu değiştiğinden OnAfterScroll tetiklenir.
(2) PageDown / PageUP olayını da bağlayabilirsin.
(3) ScrollBar'ları gizleyip kendi scrollbarını (TrackBar) koyarsın.
(4) bir DBGrid daha koyup sadece tek bir kayıt çeker hızlı olur, sen onda gezersin, topindex kayıt hangisi ise ondan başlayanları göster dersin

vs. vs.

çözüm sonsuz.
Resim
Resim ....Resim
paranoyaks
Üye
Mesajlar: 31
Kayıt: 04 Oca 2008 01:53
Konum: Adana

Re: Select ifadesini bölümlendirmek

Mesaj gönderen paranoyaks »

Teşekkürler yardımların için şu an örnek yapmaya çalışıyorum umarım bir sorun olmaz iyi akşamlar dilerim
Cevapla