SQL e bi alana göre iki tarih arası sorgu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

SQL e bi alana göre iki tarih arası sorgu

Mesaj gönderen Gaz_lambasi »

dm1.Qsorgu.SQL.Clear;
dm1.Qsorgu.SQL.Add('select sum(FATURATUTARI) from dn where FATURATUR = ''' + (ComboFatura.Text) + ''' between ''' + datetostr(datetimepicker1.Date) + ''' and ''' + datetostr(datetimepicker2.Date) + ''' ');
dm1.Qsorgu.Open;
dbedit2.Text := formatfloat('#,###.00', dm1.Qsorgu.fields[0].Value);


sql diziminde hata yapıyorum galiba.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

yani ne? Burda ne sormak istiyorsun? Kendi sorununuz için birkaç cümle yazıverin lütfen!

Hata mı veriyor, veriyorsa nedir?

Kolay gelsin.
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

İki tarih arası sorgu

Mesaj gönderen Gaz_lambasi »

pardon kusura bakmayın..bi an sql deki hata varsa hemen görünür sandım

Burda yapmak istediğim combobox da seçilen alana göre ve iki tane datetimepicker de seçilen tarih aralığına göre arama sorgu ile ilgili kayıtları çağırmak

combo fatura türünü,
datetimepickerler1 ilk tarih
datetimepickerler2 son tarih

kullnıcı fatura türünü seçecek...ve iki tarih aralığında o fatura türüne ait kayıtlar gelecek...

teşekkürler...
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

between den önce..

Kod: Tümünü seç

... and TarihAlani between ...
DeveloperToolKit

..::|YeşilMavi|::..
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

Mesaj gönderen Gaz_lambasi »

Kod: Tümünü seç

dm1.Qsorgu.SQL.Add('select sum(FATURATUTARI) from dn where ( FATURATUR = ''' + (ComboFatura.Text) + ''' ) and ( TARIH between  ''' + datetostr(datetimepicker1.Date) + ''' and ''' + datetostr(datetimepicker2.Date) + ''' )');
bu şekilde yaptım

could not convert varinat of type (Null) into type (Double)

hatası alıyorum...
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

db

Mesaj gönderen Gaz_lambasi »

db olarak PARADOX ile yapıyorum....
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

tamam

Mesaj gönderen Gaz_lambasi »

tamam tamam

dbedit2.Text := formatfloat('#,###.00', dm1.Qsorgu.fields[0].Value);

hata burda...

deger boş geliyor...

formatfloat da boş gelen değeri çevirme 0 yap nasıl diyebilirim ?
Kullanıcı avatarı
mucar
Kıdemli Üye
Mesajlar: 247
Kayıt: 17 May 2005 01:14

Mesaj gönderen mucar »

Kod: Tümünü seç

if not(dm1.Qsorgu.fields[0].isnull) then
dbedit2.Text := formatfloat('#,###.00', dm1.Qsorgu.fields[0].Value)
else
dbedit2.text:='0';
"Evine bakmaktan aciz olan; ilerici, üç kıtaya hükmeden ecdadın mı gerici?"
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

Mesaj gönderen Gaz_lambasi »

alla alla sonuc hep sıfır dönüyor
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

Mesaj gönderen Gaz_lambasi »

Kod: Tümünü seç


begin
  dm1.Qsorgu.SQL.Clear;
  dm1.Qsorgu.SQL.Add('select sum(FATURATUTARI) from dn where ( FATURATUR = ''' + (ComboFatura.Text) + ''' ) and ( TARIH between  ''' + datetostr(datetimepicker1.Date) + ''' and ''' + datetostr(datetimepicker2.Date) + ''' )');
  dm1.Qsorgu.Open;
  if not (dm1.Qsorgu.fields[1].isnull) then
    dbedit2.Text := formatfloat('#,###.00', dm1.Qsorgu.fields[1].Value)
  else
  dbedit2.text := '0';
  dm1.Qsorgu.SQL.Clear;
  dm1.Qsorgu.SQL.Add('select * from dn where ( FATURATUR = ''' + (ComboFatura.Text) + ''' ) and ( TARIH between  ''' + datetostr(datetimepicker1.Date) + ''' and ''' + datetostr(datetimepicker2.Date) + ''' )');
  dm1.Qsorgu.Open;
end;

burdan sonuç sürekli sıfır dönüyor...dbedit2 ye d faturatutarlarının toplamını alıyorum...ama dediğim gibi grid e sorgu sonuçları gelmediği gibi 0 değeri dönüyor..
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

parametre kullanarak yapsan olmazmı diye düşündüm.

kolay gelsin.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Kod: Tümünü seç

procedure TFormRaporSrg.RprSrg_BtnSecimBulClick(Sender: TObject);
var
  tarih1,tarih2:tdate;
  begin
          begin
          raporsrgibquery.Close;
          raporsrgibquery.SQL.Clear;
          raporsrgibquery.SQL.Add('select*from RAPORLAR');
          raporsrgibquery.SQL.Add('Where INCTARIHI Between :tarih1 and :tarih2 and IZ_DURUMU=:IZ_DURUMU');
          raporsrgibquery.SQL.Add('order by RAPOR_NO, INCTARIHI');
          raporsrgibquery.ParamByName('tarih1').AsDate:=datetimepicker1.Date;
          raporsrgibquery.ParamByName('tarih2').AsDate:=datetimepicker2.Date;
          raporsrgibquery.ParamByName('IZ_DURUMU').AsString:=combobox1.Text;
          raporsrgibquery.Open;
          raporsrgibquery.Last;
      end;
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
mucar
Kıdemli Üye
Mesajlar: 247
Kayıt: 17 May 2005 01:14

Mesaj gönderen mucar »

Fields[1] yerine Fields[0] olmalı. Ayrıca Sql.Clear'den önce query'yi Close yapmanızı öneririm.
"Evine bakmaktan aciz olan; ilerici, üç kıtaya hükmeden ecdadın mı gerici?"
Gaz_lambasi
Üye
Mesajlar: 10
Kayıt: 19 Eki 2005 03:48
İletişim:

teşk

Mesaj gönderen Gaz_lambasi »

hallettim teşekkürler...hiç bir sorun yokmuş..kayıt bos geliyor..çünkü arama kriterine uygun kayit yok :)

pardonn
Cevapla