Kayıt Sayısı kadar döngü

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ı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Kayıt Sayısı kadar döngü

Mesaj gönderen haydarxxx »

Kod: Tümünü seç

....
.
.....
..
QRY_PERSONEL.First;
begin
for a:=1 to QRY_PERSONEL.RecordCount  do
begin
 .....
....
....
şeklinde de QRY_PERSONEL (Ibdataset) üzerinden kayıt sayısı kadar döndürmek istiyorum ama firebird de RecordCount işlemiyor.Daha doğrusu sağlıklı bir döngü olmuyor.Bunun yerine kayıt değerlerini bir sql ile saydırararak

Kod: Tümünü seç

IBQuery8.close;
IBQuery8.SQL.Clear;
IBQuery8.SQL.Add('select count(*) from TBL_PERSONEL ' );
IBQuery8.open;
JvDotNetEdit11.text:=inttostr(IBQuery8.Fields[0].AsInteger);
da denedim

QRY_PERSONEL.RecordCount yerine inttostr(IBQuery8.Fields[0].AsInteger) olarakta giriyorum döngüyü çalıştıramıyorum.Kayıt sayısı kadar döngü yapmasını nasıl sağlayabilirim
ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 10:44
İletişim:

Mesaj gönderen ibrahimcoban »

while not IBQuery8.eof do
begin
....... //senin kodlar.
IBQuery8.next;
end;

bu kayıt sonunda kadar gidecektir.
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

ibrahimcoban teşekkür ederim ama

Kod: Tümünü seç

a:integer;
......
......
.......

 if RadioButton1.Checked=true then
 begin
Gauge1.visible:=true;
QRY_PERSONEL.First;
begin
for a:=1 to QRY_PERSONEL.RecordCount do
begin
 Gauge1.MaxValue := QRY_PERSONEL.RecordCount;
   end;
for a:=1 to QRY_PERSONEL.RecordCount do
begin
Gauge1.Progress:= Gauge1.Progress + 1;

......
......
......
    end;
QRY_PERSONELDETAY.post;
QRY_PERSONEL.Next;
QRY_PERSONELDETAY.refresh;

 end;
kodlarım bu şekilde de for döngüsü yerine while not IBQuery8.eof do olarak denedim ama olmadı
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

arkadaşım while döngüsünü araştırısan. döngü başlangıcı döngüye girmeden belirlenir.

Örnek;

Kod: Tümünü seç

procedure....
Begin
QRY_PERSONEL.FetcAll;
Gauge1.MaxValue := QRY_PERSONEL.RecordCount;
QRY_PERSONEL.First; //döngü başlangıcı
While not QRY_PERSONEL.Eof Do
  Begin
     ..... //işlemni yaptır
     QRY_PERSONELDETAY.post; 
     QRY_PERSONEL.Next;
     Gauge1.Progress:= Gauge1.Progress + 1; 
  end; //döngü sonu
end; //procedure sonu
Kullanıcı avatarı
haydarxxx
Üye
Mesajlar: 668
Kayıt: 09 May 2005 11:31
Konum: izmir

Mesaj gönderen haydarxxx »

tmm şimdi oldu.Teşekkür ediyorum
Cevapla