hepinize merhaba arkadaşlar aşağıdaki kodu bir türlü çalıştırıp olumlu sonuç alamadım sürekli parametre nesnesi eksik tanımlanmış hatası veriyor yapmak sql deki tabloda tek sütunda hem tarih hemde saat bilgisi tutuluyor belirtmiş olduğum tarih ve saat aralığındaki veriyi sorgulamak istiyorum ama başaramadım yardımlarınız bekliyorum arkadaşlar hepinize kolay gelsin.
DM1.QPerakendeler.Close;
DM1.QPerakendeler.SQL.Clear;
DM1.QPerakendeler.SQL.Text:='set dateformat dmy select * from TPerakende_Satislar where Satıis_Tarihi between Quotedstr('+DateToStr(Tarih1.Date)+TimeToStr(saat1.Time)+') and Quotedstr('+DateToStr(Tarih2.Date)+TimeToStr(saat2.Time)+')';
DM1.QPerakendeler.Open;
bu arada aşağıdaki kodla sql serverda sorgulama yapıp sonucu alabiliyorum ama bu kodu delphiye bir türlü uyarlayamadım arkadaşlar.
Qry.sql.add(' WHERE TARIH Between CONVERT(DATETIME, '''+FormatDateTime('yyyy.mm.dd',TARIH)+' 00:00:00'', 102) and CONVERT(DATETIME, '''+FormatDateTime('yyyy.mm.dd',TARIH)+' 23:59:59'', 102)');
unicorn64 yazdı:sorgularınızı parametreli olarak yazıp değerleri de query ye parametre üzerinden verirseniz tarih ve string alanlarla ayrıca uğraşmanıza gerek kalmaz
ustam bilgine sağlık dediğin yöntemle çözdüm. benim gibi sıkıntı yaşayan arkadaşlar için çalışna kodlar aşağıdadır.m_ekici hocam sanada yardımın ayrıca teşekkürederim. çok sağolun arkdaşalr.
DM1.QPerakendeler.Close;
DM1.QPerakendeler.SQL.Clear;
DM1.QPerakendeler.SQL.Text:='set dateformat dmy select * from TPerakende_Satislar where Satıis_Tarihi between :t1 and :t2 ';
DM1.QPerakendeler.Parameters.ParamByName('t1').Value:=DateTimeToStr(Tarih1.Date+saat1.Time);
DM1.QPerakendeler.Parameters.ParamByName('t2').Value:=DateTimeToStr(Tarih2.Date+saat2.Time);
DM1.QPerakendeler.Open;
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Yazdığınız yöntem yanlıştır. Şu an çalışmış gibi görünse de sorun çıkaracak bir yöntemdir. Tabloda DateTime tipindeki alan için string tipinde parametre veriyorsunuz. DateTimetoStr fonsiyonu, PC'deki bölgesel ayarlara göre değişik sonuçlar gösterir. Bu yüzden parametreyi aşağıdaki gibi datetime tipinde vermelisiniz.