在SQL SERVER 2000数据库中有一个视图, DateTimePicker做一段时间的查询,我使用以下方法编译通过了,但是查不到相应的数据。
ADOQuery1.SQL.Add('select *from churu where fdatetime>='+datetostr(DateTimePicker1.Date)+' and fdatetime<='+datetostr(DateTimePicker2.Date)+' order by fdatetime');
请各位大虾帮忙!谢谢!
ADOQuery1.SQL.Add('select *from churu where fdatetime>='+datetostr(DateTimePicker1.Date)+' and fdatetime<='+datetostr(DateTimePicker2.Date)+' order by fdatetime');
请各位大虾帮忙!谢谢!
begin
close;
sql.text :='select *from churu where fdatetime>=:d1 and fdatetime <=:d2 order by fdatetime';
parameters.parambyname('d1').value := datetimepicker1.date;
parameters.parambyname('d2').value := datetimepicker2.date;
open;
end;
begin
close;
sql.clear;
sql.add('select * from churu where fdatetime>=:a and fdatetime <=:b order by fdatetime');
parameters.parambyname('a').value := datetimepicker1.text;
parameters.parambyname('b').value := datetimepicker2.text;
open;
end;
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from churu where fdatetime between ('+quotedstr(datetimepicker1.date)+'and '+quotedstr(datetimepicker2.date)+')');
open;
end;
第二.你取的只是日期,还能把时间给补上,来个全封闭.呵呵.edate,sdate:string;
if DateTimePicker1.Date<DateTimePicker2.Date then
begin
sdate:=FormatDateTime('YYYY-MM-DD',DateTimePicker1.Date)+' 00:00:00';
edate:=FormatDateTime('YYYY-MM-DD',DateTimePicker2.Date)+' 23:59:59';
end
else
begin
sdate:=FormatDateTime('YYYY-MM-DD',DateTimePicker2.Date)+' 00:00:00';
edate:=FormatDateTime('YYYY-MM-DD',DateTimePicker1.Date)+' 23:59:59';
endADOQuery1.SQL.Add('select *from churu where (fdatetime between '+sdate+' and '+edate+') order by fdatetime');
所以建议你还是得好好检查下你的sql语句。
datetimepicker1.datetime := date ;
SQL.Add('SELECT * FROM PICKPI where 日期>=:begintime AND 日期<=:endtime');
parameters.ParamByName('begintime').value:=formatdatetime('yyyy-mm-dd',DateTimePicker3.date);
parameters.ParamByName('endtime').value:=formatdatetime('yyyy-mm-dd',DateTimePicker4.date);
parameters.ParamByName('btime').Value:=trunc(self.DateTimePicker1.Date)+frac(self.DateTimePicker3.Time);
parameters.ParamByName('etime').Value:=trunc(self.DateTimePicker2.Date)+frac(self.DateTimePicker4.Time);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ss:=format('select *from churu where fdatetime>=''%S'' and fdatetime<=''%S'' order by fdatetime ',[datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]);
ADOQuery1.SQL.Add(ss);
ADOQuery1.Open;