tablodan döngü ile data alma problemi

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
sadikacar60
Üye
Mesajlar: 83
Kayıt: 28 Ara 2017 04:14
İletişim:

tablodan döngü ile data alma problemi

Mesaj gönderen sadikacar60 »

arkadaşlar
ekdeki kod delhi7 de çalışıyordu ama lazarus(typhon64) da çalışmıyor her seferinde ilk aldığı bilğiyi dönderiyor
ID 1 deki bilğiyi sorun ne olabilir acaba

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
OyuncuAdlari:Array[1..10]of String;
begin
  
//önce oyuncu adlarını alalım
for i:=1 to 10 do
  begin
    SQLQuery1.SQL.Clear;
    SQLQuery1.SQL.Add('select * from TBL_OYUNLARGECICI where ID='+IntToStr(i));
    SQLQuery1.Open;
    if SQLQuery1.fieldbyname('NAME').value<>Null then
      begin
      OyuncuAdlari[i]:=SQLQuery1.fieldbyname('NAME').value;
      ListBox1.Items.Add(OyuncuAdlari[i]);
      end;
    end;
//ShowMessage('Kaydedildi');
end;  
Resim
sadikacar60
Üye
Mesajlar: 83
Kayıt: 28 Ara 2017 04:14
İletişim:

Re: tablodan döngü ile data alma problemi

Mesaj gönderen sadikacar60 »

yukardaki deneme programında sorunu çözdüm asıl programda uyguladığımda resimdeki hatayı alıyorum
tabloda hücrfenin null olduğuna bakmak istiyorum ama hata veriyor yanlış olan ne acaba

Resim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: tablodan döngü ile data alma problemi

Mesaj gönderen sabanakman »

Alanların değerlerini .value diye almak yerine .AsString kullanarak almayı (ya da .value değerlerini VarToStr ile string tipine çevirmeyi) deneyin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
sadikacar60
Üye
Mesajlar: 83
Kayıt: 28 Ara 2017 04:14
İletişim:

Re: tablodan döngü ile data alma problemi

Mesaj gönderen sadikacar60 »

aşagıdaki şekilde düzgün çalışıyor teşekkürler

Kod: Tümünü seç

for i:=1 to 10 do
  begin
    DMvtLANE.SQLQuery1.Close;
    DMvtLANE.SQLQuery1.SQL.Clear;
    DMvtLANE.SQLQuery1.SQL.Add('select * from TBL_OYUNLARGECICI where ID='+IntToStr(i));
    DMvtLANE.SQLQuery1.Open;
    //gln:=DMvtLANE.SQLQuery1.fieldbyname('NAME').value;
    if DMvtLANE.SQLQuery1.fieldbyname('BID').value<>null then
      begin
      TEdit(frmL1.FindComponent('FrameDuz'+IntToStr(i)).FindComponent('oyuncuAd')).Text:=DMvtLANE.SQLQuery1.fieldbyname('NAME').AsString;
      if TEdit(frmL1.FindComponent('FrameDuz'+IntToStr(i)).FindComponent('oyuncuAd')).Text='TEST' then TButton(frmL1.FindComponent('FrameDuz'+IntToStr(i)).FindComponent('btnPark')).Visible:=false; //oyun test oyunu ise park yapamasın
      frmL1.dFyt[i]:=StrToInt(DMvtLANE.SQLQuery1.fieldbyname('FYT').AsString);   //integer
      frmL1.dBID[i]:=DMvtLANE.SQLQuery1.fieldbyname('BID').AsString;
      frmL1.oSay[i]:=DMvtLANE.SQLQuery1.fieldbyname('OSAY').AsString; //ektra oyun varsa alalım
      _HangiFrmOyVar1[i]:=1;
      end;
    end; 
Cevapla