时间字段的问题?请大家看看!
大家请看,我想通过下面的代码来查找数据库中位于这两个时间之间的记录,但是查找结果为空,为什么?多谢帮忙.
//regtime为数据表product中时间字段
procedure TForm1.BitBtn1Click(Sender: TObject);
var
FromDate,ToDate: TDate;
begin
FromDate := DateTimePicker1.DateTime;
ToDate := DateTimePicker2.DateTime;
with query1 do
begin
close;
Sql.clear;
Sql.add('Select * from product');
Sql.Add('Where regtime>'+DateToStr(FromDate));
Sql.Add('And regtime<'+DateToStr(ToDate));
Open;
end;
end;
问题点数:20、回复次数:8Top
1 楼StarRains(星雨)回复于 2002-04-10 15:44:20 得分 0
Sql.Add('Where regtime>'''+DateToStr(FromDate)+'''');
Sql.Add('And regtime<'''+DateToStr(ToDate)+'''');
Top
2 楼outer2000(天外流星)回复于 2002-04-10 15:53:35 得分 0
同意楼上,参数查询问题Top
3 楼woodheadmail(木头)回复于 2002-04-10 16:14:37 得分 0
sorry,在之前我已经这样作过了,提示了错误信息:"...数据类型不匹配...",我都怀疑是Access的数据库引擎有问题,因为在Access中使用查询,也有同样的问题.
再次请大家看看!!!!!!!!!!!!!!!!!!!!Top
4 楼qhdsfh(飞翔的鹰)回复于 2002-04-10 16:17:09 得分 5
也可以改成sql.add('where regtime>=:formdate')
如果你的regtime字段是日期类型的话!Top
5 楼StarRains(星雨)回复于 2002-04-10 16:23:37 得分 15
在Accsess中好像这样写:
Sql.Add('Where regtime>#'+DateToStr(FromDate)+'#');
Sql.Add('And regtime<#'+DateToStr(ToDate)+'#');
Top
6 楼jin_fan(金帆)回复于 2002-04-10 16:31:24 得分 0
Sql.Add('Where regtime>'''+DateToStr(FromDate)+'''');
Sql.Add('And regtime<'''+DateToStr(ToDate)+'''');Top
7 楼woodheadmail(木头)回复于 2002-04-10 16:32:12 得分 0
非常感谢,尤其是:StarRains(星雨)Top
8 楼weilingjun1976(一休不休)回复于 2002-04-10 16:40:25 得分 0
procedure TForm1.BitBtn1Click(Sender: TObject);
var
FromDate,ToDate: TDate;
begin
FromDate := DateTimePicker1.DateTime;
ToDate := DateTimePicker2.DateTime;
with query1 do
begin
close;
Sql.clear;
Sql.add('Select * from product');
Sql.Add('Where regtime>:regtime1);
Sql.Add('And regtime<:regtime2);
Parameters.ParamValues['regtime1']:=FromDate ;
Parameters.ParamValues['regtime2']:=ToDate ;
Open;
end;
end;
Top




