Sql ile toplam alanı bulmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Erd_turkmen
Üye
Mesajlar: 38
Kayıt: 27 Ara 2006 03:13

Sql ile toplam alanı bulmak

Mesaj gönderen Erd_turkmen »

Herkese kolay gelsin.
Query nesnesi ile tablodaki bir alanın toplamını bulmak istiyorum ama bi türlü beceremedim :shock:

Query - DatabaseName=Kasa
Query - sql = Select sum(miktar) from kasa
Bildiğime göre bu şekilde olması lazım.
Biraz daha açık yazayım.
alinan_miktar alanı Currency (Para)

Kod: Tümünü seç

procedure Tfrmkasa.Hesapla(Sender: TObject);
var
sno:string;
begin

sno:=dm.tblkasaSipno.AsString;
qkasa.Close;
qkasa.SQL.Clear;
qkasa.SQL.Add('Select sum(alinan_miktar) from kasa where sipno='''+sno+'''');
qkasa.Open;
end;
Teşekkürler..
tarikogut
Üye
Mesajlar: 32
Kayıt: 11 Nis 2006 04:31

Re: Sql ile toplam alanı bulmak

Mesaj gönderen tarikogut »

Erd_turkmen yazdı:Herkese kolay gelsin.
Query nesnesi ile tablodaki bir alanın toplamını bulmak istiyorum ama bi türlü beceremedim :shock:

Query - DatabaseName=Kasa
Query - sql = Select sum(miktar) from kasa
Bildiğime göre bu şekilde olması lazım.
Biraz daha açık yazayım.
alinan_miktar alanı Currency (Para)

Kod: Tümünü seç

procedure Tfrmkasa.Hesapla(Sender: TObject);
var
sno:string;
begin

sno:=dm.tblkasaSipno.AsString;
qkasa.Close;
qkasa.SQL.Clear;
qkasa.SQL.Add('Select sum(alinan_miktar) from kasa where sipno='''+sno+'''');
qkasa.Open;
end;
Teşekkürler..
merhaba şöyle deniyebilirsin

Kod: Tümünü seç

procedure Tfrmkasa.Hesapla(Sender: TObject);
var
sno:string;
begin

sno:=dm.tblkasaSipno.AsString;
qkasa.Close;
qkasa.SQL.Clear;
qkasa.SQL.Add('Select sum(alinan_miktar)as [Toplam Miktar] from kasa where sipno=:a);
Parameters[0].Value:=sno;
qkasa.Open;

iyi çalışmalar
end;
100 Adet Dedicated Server
Vpn Network Uzmanlığı
3 Gbit Internet Connection
Erd_turkmen
Üye
Mesajlar: 38
Kayıt: 27 Ara 2006 03:13

Mesaj gönderen Erd_turkmen »

İlginize teşekkürler. Kodu denedim ama yanlış bişeler yaptım heralde. Ancak bu sefer başka bi yol denedim. Query nesnesinin sql kısmına

select sum(alinan_miktar) from kasa where sipno= :a yazdım. ve :

Kod: Tümünü seç

procedure Tfrmkasa.hesapla(Sender: TObject);
var
sno:Currency;
begin
sno:=dm.tblkasaSipno.AsCurrency;
qkasa.Close;
qkasa.ParamByName('a').AsCurrency:=sno;
qkasa.Open;
end;
bu kodu yazarak derlediğimde herangi bi problem yok. Ancak sonucu herhangi editin içine yazdıramadım :?
Kolay Gelsin
Erd_turkmen
Üye
Mesajlar: 38
Kayıt: 27 Ara 2006 03:13

Mesaj gönderen Erd_turkmen »

Biraz kafa yorunca oluyomuş:) Ctrl + Space Sağolsun :P

Kod: Tümünü seç

procedure Tfrmkasa.hesapla(Sender: TObject); 
var 
sno:Currency; 
begin 
sno:=dm.tblkasaSipno.AsCurrency; 
qkasa.Close; 
qkasa.ParamByName('a').AsCurrency:=sno; 
qkasa.Open; 
Edit2.Text:=qkasaSUMOFalinan_miktar.AsString;
end;
tarikogut
Üye
Mesajlar: 32
Kayıt: 11 Nis 2006 04:31

Mesaj gönderen tarikogut »

Erd_turkmen yazdı:Biraz kafa yorunca oluyomuş:) Ctrl + Space Sağolsun :P

Kod: Tümünü seç

procedure Tfrmkasa.hesapla(Sender: TObject); 
var 
sno:Currency; 
begin 
sno:=dm.tblkasaSipno.AsCurrency; 
qkasa.Close; 
qkasa.ParamByName('a').AsCurrency:=sno; 
qkasa.Open; 
Edit2.Text:=qkasaSUMOFalinan_miktar.AsString;
end;
gözümden kaçmış kusuruma bakma bu saatte biraz zor oluyor.
100 Adet Dedicated Server
Vpn Network Uzmanlığı
3 Gbit Internet Connection
Erd_turkmen
Üye
Mesajlar: 38
Kayıt: 27 Ara 2006 03:13

Mesaj gönderen Erd_turkmen »

Arkadaşlar yeni başlık açmak istemedim..
Birden fazla tabloyu query nesnesi ile bağlıyorum ancak bir tablodaki alanın toplamını almam gerek. Böle bişe yapmaya çalıştım ama hata veriyo.

Kod: Tümünü seç

Query1.SQL.Add('select  m.madi , m.msoyadi , m.unvan , m.adres , m.vergino , m.vergidaire , m.tel , s.tabela_metni , s.ozellikleri , s.adet ,s.toplam , s.tasarim_tar , s.teslim_tar , k.alinan_tarih ,  [b]k.alinan_miktar [/b]from musteri m , siparis s , kasa k where  m.mno='''+suidbedit4.Text+''' and s.mno='''+suidbedit7.Text+'''and s.sno='''+suidbedit11.text+'''');
k.alinan_miktar kısımın toplamını almam gerek. Başına Sum ekleyip parantez içine alınca
[Error] Kasa.pas(361): String literals may have at most 255 elements diye bir hata mesajı alıyorum. Teşekkürler
Cevapla