在数据库中data的格式为yyyy-MM-d(例如2008-10-8)时,我设置时间段过滤的方式如下: date1val:= strtoint(formatdatetime('yyyMMdd',DateTimePicker1.Date));
date2val:= strtoint(formatdatetime('yyyMMdd',DateTimePicker2.Date));
//设置时间段过滤器
if (date1val>date2val) then
showmessage('请检查您输入的时间段!')
else if (date1val=date2val) then
datefiler:='data='+quotedstr(datetostr(DateTimePicker1.Date))
else
datefiler:='data>='+quotedstr(datetostr(DateTimePicker1.Date));
ADOTable2.Filtered:=true;
ADOTable2.Filter:=datefiler;
结果无法判断2008-10-10大于2008-10-8 然后我把数据库中的data格式设置为yyyy-MM-dd
用同样的方式过滤,后果是根本无法识别天数为0x的值 应该问题在datetostr(DateTimePicker1.Date));吧有了解此方面的给个指点吧。
date2val:= strtoint(formatdatetime('yyyMMdd',DateTimePicker2.Date));
//设置时间段过滤器
if (date1val>date2val) then
showmessage('请检查您输入的时间段!')
else if (date1val=date2val) then
datefiler:='data='+quotedstr(datetostr(DateTimePicker1.Date))
else
datefiler:='data>='+quotedstr(datetostr(DateTimePicker1.Date));
ADOTable2.Filtered:=true;
ADOTable2.Filter:=datefiler;
结果无法判断2008-10-10大于2008-10-8 然后我把数据库中的data格式设置为yyyy-MM-dd
用同样的方式过滤,后果是根本无法识别天数为0x的值 应该问题在datetostr(DateTimePicker1.Date));吧有了解此方面的给个指点吧。
你明明知道数据库里的格式,下面怎么还写成'yyyMMdd'date1val:= strtoint(formatdatetime('yyyy-MM-dd',DateTimePicker1.Date));
date2val:= strtoint(formatdatetime('yyyy-MM-dd',DateTimePicker2.Date));
//设置时间段过滤器
if (date1val>date2val) then
showmessage('请检查您输入的时间段!')
else if (date1val=date2val) then
datefiler:='data='+quotedstr(date1val)
else
datefiler:='data>='+quotedstr(date1val);
ADOTable2.Filtered:=true;
ADOTable2.Filter:=datefiler;
给你修改了一下,再试试
showmessage('请检查您输入的时间段!')
else if trunc(DateTimePicker1.Date)=trunc(DateTimePicker2.Date) then
datefiler:='data='+quotedstr(datetostr(DateTimePicker1.Date))
else
datefiler:='data>='+quotedstr(datetostr(DateTimePicker1.Date)); ADOTable2.Filtered:=False;
ADOTable2.Filter:=datefiler;
ADOTable2.Filtered:=true;
这句好像有问题吧,dateval是integer类型
date1val:=DateTimePicker1.Date;
date2val:= DateTimePicker2.Date;
//设置时间段过滤器
if (date1val>date2val) then
showmessage('请检查您输入的时间段!')
else if (date1val=date2val) then
datefiler:='data='+quotedstr(formatdatetime('yyyy-MM-dd',date1val));
else
datefiler:='data>='+quotedstr(formatdatetime('yyyy-MM-dd',date1val));
ADOTable2.Filtered:=true;
ADOTable2.Filter:=datefiler;