adoquery sorgulama sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
creazybleed
Üye
Mesajlar: 11
Kayıt: 01 Oca 2009 11:56

adoquery sorgulama sorunu

Mesaj gönderen creazybleed »

slm arkadaşlar.
adoqueryde iki tarih arası süzme yapıyorum. aradaki gün sayıları 23 günü geçtikten sonra ve 23 günden az farklı iki ay arası süzmede başka tarihleride veriyor. anlamadım gitti:D fakat 23 ve daha az gün sorguladığımda, aynı ay olmak şartıyla düzgün bir süzme alıyorum sizce nedendir.

kullandığım kodlar. iki koddada aynı şekilde hata alıyorum yardım ederseniz sevinirim.
şimdiden teşekkürler.

Kod: Tümünü seç

procedure TForm1.Button8Click(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.sql.Clear;
  ADOQuery1.SQL.Add('SELECT * from siparis WHERE (kargotarihi BETWEEN :Tar1 and :Tar2)');
  ADOQuery1.Parameters.ParamByName('Tar1').Value := FormatDateTime('DD/MM/YYYY',DateTimePicker1.date);
  ADOQuery1.Parameters.ParamByName('Tar2').Value := FormatDateTime('DD/MM/YYYY',DateTimePicker2.date);
  ADOQuery1.Open;
  end;

end.

Kod: Tümünü seç

procedure TForm1.Button5Click(Sender: TObject);
begin
adoquery1.close;
adoquery1.sql.clear;
Adoquery1.SQL.Add('select * from siparis');
query1.sql.add('select * from where kargotarihi between ''' + datetostr(datetimepicker2.Date) + ''' and ''' + datetostr(datetimepicker1.Date) + ''' ');
adoquery1.Filtered := false;
adoquery1.open;

end;
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: adoquery sorgulama sorunu

Mesaj gönderen unicorn64 »

Kod: Tümünü seç

procedure TForm1.Button8Click(Sender: TObject);
var 
  Tar1,Tar2:string;
begin
  Tar1 := FormatDateTime('yyyyMMdd',DateTimePicker1.date);
  Tar2 := FormatDateTime('yyyyMMdd',DateTimePicker2.date+1);
  ADOQuery1.Close;
  ADOQuery1.sql.Clear;
  ADOQuery1.SQL.Add('SELECT * from siparis WHERE kargotarihi>= '''+Tar1 +''' and kargotarihi< '''+Tar2+'''');
  ADOQuery1.Open;
  end;

end.

şeklinde denermisin
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
creazybleed
Üye
Mesajlar: 11
Kayıt: 01 Oca 2009 11:56

Re: adoquery sorgulama sorunu

Mesaj gönderen creazybleed »

yok o kod da olmadı. :oops: çalışma örneğini upload ettim bakarsanız çok teşekkür ederim.
http://rapidshare.com/files/306405925/ornek.rar.html
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: adoquery sorgulama sorunu

Mesaj gönderen aslangeri »

s.a.
muhtemelen parametrelerin tarih olduğunun belirtilmesi sorunu çözecektir.

Kod: Tümünü seç

ADOQuery1.Parameters.ParamByName('Tar1').DataType:=ftDateTime;
ADOQuery1.Parameters.ParamByName('Tar2').DataType:=ftDateTime;
şeklinde parametrelerin data tipini belirterek deneyiniz.
Date time pickerlardaki saat alanlarını göz artı etmeyiniz. saat farkından kaynaklanan bir elemede olabilir.
aynı şekilde veritabanında da saat var ise kontrol etmekte fatda var.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
creazybleed
Üye
Mesajlar: 11
Kayıt: 01 Oca 2009 11:56

Re: adoquery sorgulama sorunu

Mesaj gönderen creazybleed »

yani kod tam olarak nasıl olmalı.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: adoquery sorgulama sorunu

Mesaj gönderen aslangeri »

value ye değer atmadan önce ilgili parametrenin datatypini belirlemelisin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla