Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Sql Tarih Sorunu
#1
Cümleten Hayırlı akşamlar;
 
       
ADOQuery2.close;
       ADOQuery2.sql.Clear;
       ADOQuery2.sql.Add('select tip,');
       ADOQuery2.sql.Add('(SELECT SUM(tutar) FROM kasa WHERE tip like ''G%'') AS TGIRIS,');
       ADOQuery2.SQL.Add('(SELECT SUM(tutar) FROM kasa WHERE tip like ''Ç%'') AS TCIKIS');
       ADOQuery2.SQL.Add('FROM KASA');
       ADOQuery2.SQL.ADD('where tarih BETWEEN');
       ADOQuery2.SQL.ADD(':ILK AND :SON ');
       ADOQuery2.SQL.Add('GROUP BY tip');
       ADOQuery2.Parameters.ParamByName('ILK').Value:=strtodate(Edit1.text);
        ADOQuery2.Parameters.ParamByName('SON').Value:=strtodate(Edit2.text);
        ADOQuery2.Open;

Bu kodlarda nerede sorun var acaba, istediğim tarih aralığını toplamları değil, tamamının toplamlarını veriyor...  Huh
Cevapla
#2
Burada SELECT SUM() ile oluşturduğun satır(lar) tek başına tüm kayıtları dolaşır. 

Bunu limitlemek için sonuna AND ekleyip aynı tarih aralıklarını her birine vermen lazım.

Şöyle dener misin ...
Delphi IDE açıp kabalama yazdım, yazım hatam olmuşsa düzeltirsin.
G% ve Ç% sadece birer kelime ise yazıyorum; zaten Group By ile GİRİŞ ve ÇIKIŞ ifadelerini alıyorsan neden her birisi için ayrı ayrı sorgu yapıyorsun ki, gerek yok. Böyle bir dene.
       ADOQuery2.close;
      ADOQuery2.sql.Clear;
      ADOQuery2.sql.Add('select tip,');
      ADOQuery2.sql.Add('(SELECT SUM(tutar) FROM kasa Tablo2 WHERE Tablo2.tip = Tablo1.tip where Tablo2.tarih BETWEEN :ILK1 AND :SON1 ) as [TOPLAM]');
      ADOQuery2.SQL.Add('FROM KASA Tablo1');
      ADOQuery2.SQL.Add('GROUP BY tip');
      ADOQuery2.Parameters.ParamByName('ILK1').Value:=strtodate(Edit1.text);
      ADOQuery2.Parameters.ParamByName('SON1').Value:=strtodate(Edit2.text);
      ADOQuery2.Open;
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#3
Darih nedir? Türkçesi bozuklar.
Cevapla
#4
Shocked 
İtidal lütfen. Cevap hakkı için yazmak zorunda kaldım.
Türkçe'yi doğru kullandığınızı varsayarak çoğul ek kullandığınıza göre ve bu başlıktaki iki mesajdan birisi de bana ait olunca ayıp olmuyor mu   Exclamation
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#5
(12-03-2018, Saat: 21:50)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olİtidal lütfen. Cevap hakkı için yazmak zorunda kaldım.
Türkçe'yi doğru kullandığınızı varsayarak çoğul ek kullandığınıza göre ve bu başlıktaki iki mesajdan birisi de bana ait olunca ayıp olmuyor mu   Exclamation

Yo üzerinize alınmayın, sizi kastetmedim mister mrman.Türkçesi bozuk bir kitle var burada, ben yer yer o arkadaşlara böyle yazarım(sataşırım).Arkadaşı da onlara dahil ettmem nedeniyle çoğul kullandım.
Cevapla
#6
(12-03-2018, Saat: 21:33)serhatil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDarih nedir? Türkçesi bozuklar.

Türkçe özel isimdir; özel isimlere gelen ekler ayrı yazılır.  Wink
There's no place like 127.0.0.1
WWW
Cevapla
#7
(13-03-2018, Saat: 10:49)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(12-03-2018, Saat: 21:33)serhatil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDarih nedir? Türkçesi bozuklar.

Türkçe özel isimdir; özel isimlere gelen ekler ayrı yazılır.  Wink

Yanlış bilgi hocam.Türk kelimesi özeldir üzerine -ce yapım eki alır.-ce sesi ünsüz benzeşmesinden dolayı - çe'ye dönüşür.Ortaya çıkan kelime özel de olsa yapım ekinden sonra gelen ekler ayrılmaz.Özet olarak ''Türkçesi" ifadesi doğrudur.Arkadaşı pek sevmem ama yanlış bilgi de vermeyelim.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#8
Ben, "arkadaşı sevmiyorum" diyemem ama Türkçe özel isimdir Smile
"Genel Türk dili" manasına gelir. Bakınız TDK.
There's no place like 127.0.0.1
WWW
Cevapla
#9
Zaten özel olmasında sıkıntı yok ama gelen ekler ayrılmaz.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#10
(13-03-2018, Saat: 11:23)savasabd Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlZaten özel olmasında sıkıntı yok ama gelen ekler ayrılmaz.

Şimdi anladım. Evet o konuda haklısınız. 
Öncelikle serhatil'den, sonra sizden ve en sonunda da yanlış bilgi verdiğim ve buradaki konuyu gereksiz uzattığım için tüm okuyanlardan özür dilerim.
There's no place like 127.0.0.1
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 10.3.2 Cominity için Sui Pack ve Rave Report konusu Bafehan 9 225 09-08-2018, Saat: 20:48
Son Yorum: Bafehan
  HHBMailComponent - Kolay Mail Gönderim Bileşeni [Delphi] hyperxman 23 1.135 09-08-2018, Saat: 02:20
Son Yorum: hyperxman
  clientdataset xml türkçe karakter sorunu osiso 0 84 06-08-2018, Saat: 12:29
Son Yorum: osiso
  Delphi'de Görev Zamanlayıcı Ekleme hyperxman 9 197 06-08-2018, Saat: 11:17
Son Yorum: hyperxman
  Çözünürlük sorunu klavye 13 437 03-08-2018, Saat: 19:52
Son Yorum: klavye



Konuyu Okuyanlar: 1 Ziyaretçi