SQL de tarih formatı;

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

SQL de tarih formatı;

Mesaj gönderen vedatkaba »

Herkese kolay gelsin....

Arkadaşlar

sorgu da iki tarih arasını sorgulatıyorum ama bir sorun var sorun şu şekilde

1.sorgu çeşidi :

Kod: Tümünü seç

  query1.close;
           query1.sql.clear;
           query1.sql.add('select * from Tablo');
           query1.Sql.add('where Tarih>='''+edit1.text+''' and  tarih<='''+edit2.text+'''');
query1.open;
Diyorum normal çalışıyor ama bana bu şekli bir arkadaşım bana tavsiye etmedi.windows un tarih formatını bozabilir dedi.

onun söylediği kod ise şu şekilde

Kod: Tümünü seç

sor.Close;
sor.SQL.Clear;
sor.SQL.Add('select * FROM KASA where');
sor.SQL.Add('tarih>='+quotedstr(datetostr(form14.datatime1.Date))+' and tarih<='+quotedstr(datetostr(form14.datetime2.date)));

Ama benim tablomda kayıt lar '01.01.2005' olarak gözüküyor SQL'in textine baktığımda '01/01/2005' olarak çıkıyor ve neticede sorgulama da hiç bir şey gözükmüyor.kayıt olduğu halde sorgu sonucu yok.kayıt yokmuş gibi davranıyor.

Yorumlarınızı bekliyorum,ne yapmalıyım.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Hocam parametre olarak kullanırsan bir problem kalmaz.

Kod: Tümünü seç

query1.close;
           query1.sql.clear;
           query1.sql.add('select * from Tablo');
           query1.Sql.add('where Tarih>=:tarih1 and  tarih<=:tarih2');
           query1.parameters.parambyname('tarih1').value:=edit1.text
           query1.parameters.parambyname('tarih2').value:=edit2.text

query1.open;
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
Pulp
Üye
Mesajlar: 21
Kayıt: 04 Mar 2005 04:25
Konum: BURSA

Mesaj gönderen Pulp »

sqlserver da tarih alanları için şunu dene

edit1.text := '2005-03-27 00:00:00';
edit2.text := '2005-05-27 00:00:00';

tarih between quotedstr(convert(datetime, edit1.text, 102))+' and '+
quotedstr(convert(datetime, edit2.text, 102))[/quote]
Cevapla