sql iki kıstas ve bu kıstas ait iki tarih aralığı sorgusu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

sql iki kıstas ve bu kıstas ait iki tarih aralığı sorgusu

Mesaj gönderen xcom »

Merhaba arkadaşlar, SQL2000 server kullanıyorum, sorguyu size aşağıda belirtiğim gibi bi türlü işin içinden çıkamadım. kıstas aralığı gayet güzel çalışıyor ama tarih girdimi işin içine hata veriyor. verdiği hatalarda "the conversion of char data type to a datetime data type resulted in an out of range datetime value" gibi bir hata veriyor yardımcı olursanız çok sevinirim durumum biraz acil yardımlarınız için şimdiden teşekkür ederim.


Kod: Tümünü seç

     ftx.Close;
     ftx.SQL.Clear;
     ftx.SQL.add('SELECT * ');
     ftx.SQL.add('FROM fatsatic');
     ftx.SQL.add('WHERE (depo = '''+(dm.depotxDepokod.Value)+''' ) AND (fattipall = ''2'')  AND ( Fattarihi BETWEEN '''+(Edit1.Text)+''' AND '''+(Edit2.Text)+''' )  ');
     ftx.SQL.add('ORDER BY Fattarihi');
     showmessage(ftx.SQL.Text);
     ftx.Open;
En son xcom tarafından 23 Şub 2005 05:47 tarihinde düzenlendi, toplamda 3 kere düzenlendi.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

fattarihi between ilk_tarih and son_tarih

şeklinde deneyin. Yani :

fattarihi between '01.01.2005' and '31.01.2005'

gibi. Kolay gelsin.
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Kod: Tümünü seç

ftx.Close; 
     ftx.SQL.Clear; 
     ftx.SQL.add('SELECT * '); 
     ftx.SQL.add('FROM fatsatic'); 
     ftx.SQL.add('WHERE (depo = '+#39+(dm.depotxDepokod.Value)+#39+') AND (fattipall = ''2'') AND ( Fattarihi => :bastar AND fattarihi<= :sontar  '); 
     ftx.SQL.add('ORDER BY Fattarihi'); 
     showmessage(fatalsattx.SQL.Text); 
     FTX.ParamByName('bastar').Asdate:= DateTimePicker1.date ;
     FTX.ParamByName('sontar').Asdate:= DateTimePicker2.date ;

     ftx.Open;
2 tane forma DateTimePicker koy ve dene bir sorun olursa yazarsın.
I love my car.
Blog Yaptık
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Mesaj gönderen xcom »

hocam sizindediğinizgibi yaptım. olmadı. sizin ilk baktığınız kodu ben yanlış koymuşum denemelerimden bitanesiydi o şimdi düzeltik çok özürdilerim;

P206 'nın verdiği örenktede altaki hatayı veriyor. Ado kullandığım için olabilirmi bu hata:

unduclared identifiyer : 'ParamByName'
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Merhaba istersen kurguyu

Kod: Tümünü seç

Adodataset1.parameters.parambyname('tarih').value:=Dateof(DateTimePicker1.date)
gibi kurarsan sorunu çözümlersin.
En son Berdem tarafından 23 Şub 2005 06:06 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Ado hiç kullanmadım ama şöyle dene birde

Kod: Tümünü seç

ADOQuery1.Parameters.ParamByName('parametre').Value:='değişken'

gibi kullanılıyor olmalı
I love my car.
Blog Yaptık
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Mesaj gönderen xcom »

Arkadaşlar Çok Teşekkür ederim Allah razı olsun. yol gösterip ışıktutunuz. tekrar teşekkür ederim.sağolun.
Çağrıbey
Üye
Mesajlar: 40
Kayıt: 26 Kas 2004 11:25
Konum: Ankara

AdoQuery tarih sorgusu

Mesaj gönderen Çağrıbey »

iki tarih arasındaki kayıtları aramada kesin sonuç veriyor

procedure TForm1.GorevOnayiTarihi1Click(Sender: TObject);
begin
AdoQuery1.Close;
AdoQuery1.Sql.Clear;
AdoQuery1.Sql.Add('Select * From TABLO1 where (Gorev_Tarihi>=:Tarih_ilki and Gorev_Tarihi<=:Tarih_Sonu) ');
AdoQuery1.Parameters[0].Value :=(inputbox('Gorev onayı Tarihi ilki','','01/11/2004'));
AdoQuery1.Parameters[1].Value :=(inputbox('Görev Onayı Tarihi Sonu','','12/12/2004'));
AdoQuery1.Open;
AdoQuery1.sort:='Gorev_Tarihi ASC';
end;
Gelecek günden ne dilersen, doğacak günler onu getirir
Cevapla