c# kodunu delphiye çevirmek datareader kullanımı

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
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen forumsad »

arkadaşlar c# da aşagıdaki şekilde çalışan kodu delphidede kullanmam lazım nasıl çevireceğimi çözemedim
yardımcı olursanız sevinirim...

Kod: Tümünü seç

            int say=0;
            FbConnection conn2 = vt.baglanFB();
            string sqlCumle2 = "select * from GECICI ";
            FbCommand sorgu2 = new FbCommand(sqlCumle2, conn2);
            FbDataReader fbDr = sorgu2.ExecuteReader();
            while (fbDr.Read())
            {
                say++;
                dbKayi[say] = fbDr["ILANNU"].ToString();

            }
            fbDr.Close();
saygılarımla
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen omurolmez »

Kod: Tümünü seç

var
  say :integer;
begin
  say :=0;
  ibquery1.SQL.Text :='select * from GECICI';
  ibquery1.Open;
  ibquery1.First;
  while not Ibquery1.Eof do begin
    Inc(say);
    dbKayi[say] :=IbQuery.FieldByName('ILANNU').AsString;
    ibquery.Next;
  end;
  ibquery.Close;
end;
Ömür Ölmez
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

Re: c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen forumsad »

teşekkürler hocam

bir sorunum daha var yardımcı olursanız sevinirim

Kod: Tümünü seç

for i:=1 to  LByeniIlanlar.Items.Count-1 do
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('select * from GECICI where ILANNU='+LByeniIlanlar.Items[i]);
IBQuery1.Open;

while (not IBQuery1.Eof) do
    begin
    lbSatilan.Items.Add(IBQuery1.fieldbyname('ILANNU').value);
    //ShowMessage('Bulundu');
      IBQuery1.Next;
    end;
    //lbSatilan.Items.Add(LByeniIlanlar.Items[i]);

  end;
yukardaki kod ile veritabanında aradığımı bulup listbox'a atıyorum ama
bulamadıklarımıda başka bir listbax.'a atmak istiyorum ama beceremedim bir türlü

aslında olandan çok olmayanı bulmak istiyorum

saygılarımla
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen omurolmez »

for i:=1 to LByeniIlanlar.Items.Count-1 do
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
//IBQuery1.SQL.Add('select * from GECICI where ILANNU='+LByeniIlanlar.Items);
IBQuery1.SQL.Add('select * from GECICI');
IBQuery1.Open;

while (not IBQuery1.Eof) do
begin
if IBQuery1.fieldbyname('ILANNU').AsString = LByeniIlanlar.Items then
lbListe1.Items.Add(IBQuery1.fieldbyname('ILANNU').AsString)
else
lbListe2.Items.Add(IBQuery1.fieldbyname('ILANNU').AsString);
IBQuery1.Next;
end;
end;
Ömür Ölmez
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

Re: c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen forumsad »

çok teşekkürler hocam

saygılarımla
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen omurolmez »

Sanırım size asıl yardımım, şöyle bir tavsiyede bulunmak olabilir:

Kod: Tümünü seç

procedure Doldur(const ASorgu :string; const AStrings :TStrings); 
begin
  IBQuery1.SQL.Text :=ASorgu;
  IBQuery1.Open;
  AStrings.Clear;
  try
    while not IBQuery1.Eof do begin
      AStrings.Add(IBQuery1.Fields[0].AsString);
      IBQuery1.Next;
    end;
  finally
    IBQuery1.Close;
  end;
end;

Kod: Tümünü seç

begin
  Doldur('select * from GECICI', lbListe1.Items);
end;
Ömür Ölmez
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

Re: c# kodunu delphiye çevirmek datareader kullanımı

Mesaj gönderen forumsad »

biraz daha basit acemice oldu ama şu sekilde sorunu çözdüm..

Kod: Tümünü seç

function kontrolEt(gln:string):Boolean;
var
i:integer;
begin
Result:=False;

_yolExe:=ExtractFilePath(Application.Exename);
frmAnaliz.IBDatabase1.DatabaseName:=_yolExe+'DB\VT.FDB';
frmAnaliz.IBDatabase1.Connected:=true;

frmAnaliz.IBQuery1.Close;
frmAnaliz.IBQuery1.SQL.Clear;
frmAnaliz.IBQuery1.SQL.Add('select * from GECICI where ILANNU='+gln);
frmAnaliz.IBQuery1.Open;

while (not frmAnaliz.IBQuery1.Eof) do
begin
Result:=True;
frmAnaliz.IBQuery1.Next;
end;


end;



procedure TfrmAnaliz.btnYeniClick(Sender: TObject);
var
i:integer;
s:Boolean;
begin
for i:=0 to  LByeniIlanlar.Items.Count-1 do
begin
s:=kontrolEt(LByeniIlanlar.Items[i]);
if s=True then
          begin
          end;

if s=False then LByeni.Items.Add(LByeniIlanlar.Items[i]);
end;
ShowMessage('Ok');
end;
çok teşekkürler hocam
verdiğiniz örnege göre geliştirmeye çalışacağım..

saygılarımla
Cevapla