Delphi - SQL Hesaplama Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
fiko19
Üye
Mesajlar: 73
Kayıt: 07 Oca 2009 11:39

Delphi - SQL Hesaplama Sorunu

Mesaj gönderen fiko19 »

Merhaba arkadaşlar

sql de çektiğim tablodaki girenpara ve cikanpara sutununda ki verileri toplatarak altta ki edit1 içerisine sonucu yazdırmak istiyorum ama bir türlü başaramadım yardımcı olursanız çok sevinirim

kodları delphi7 de kullanacağım
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Delphi - SQL Hesaplama Sorunu

Mesaj gönderen mkysoft »

burada izleyebileceğin iki yol var:
1. toplama işlemini delphide yapabilirsin.
2. toplama işlemi için sql çalıştırabilirsin.

kullanacağın teknik programın çektiği veriye kalmış. eğer 5-10 satır ise delphide yapabilirsin. daha fazla kayıt varsa sistemi yavaşlatmamak adına veri tabanına bir sql daha gönderebilirsin.
delphide bir döngü içinde önce ilk kayda konumlanırsın, son kayda kadar next komutuyla ilerlersin.
fiko19
Üye
Mesajlar: 73
Kayıt: 07 Oca 2009 11:39

Re: Delphi - SQL Hesaplama Sorunu

Mesaj gönderen fiko19 »

hocam bunu sql içerisinde yapıp ordan delphiye almam gerekiyor çünkü kayıt sayısı fazla olacak ama bir türlü yapamadım
fiko19
Üye
Mesajlar: 73
Kayıt: 07 Oca 2009 11:39

Re: Delphi - SQL Hesaplama Sorunu

Mesaj gönderen fiko19 »

arkadaşlar yardım edecek yokmu işin içinden çıkamadım..
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphi - SQL Hesaplama Sorunu

Mesaj gönderen orhancc »

Kod: Tümünü seç

var
  q : TAdoQuery;
  selectText :String;
begin
 SelectText := ' select sum('girenpara')-sum('cikanpara') as Toplam from tablom where kod = 12345 // sadece tutar lazımsa ';
  //select girenpara,cikanpara, sum('girenpara')-sum('cikanpara') as Toplam from tablom where kod = 12345 group by girenpara,cikanpara // gruplayarak almak istersen
  q := TAdoQuery.Create(nil);
  try
   q.ConnectionString := Dm.Database;// artık nereye bağlayacaksan
   q.SQL.Text := SelectText;
   q.Open;
  if (q.RecordCount = 0) then Exit;
   EditToplam.Text :=  q.FieldByName('Toplam') .AsString; // currenct veya float  yapabilirsin ne kullanıyorsan duruma göre
  finally
    q.Free;
  end;
end;
Cevapla