DateTimePicker1.DateTime和ADOQuery.FieldByName('Date').AsDateTime相比较日期如何会出错

DateTimePicker1.DateTime和ADOQuery.FieldByName('Date').AsDateTime相比较日期怎么会出错?
if   DateTimePicker1.DateTime> ADOQuery.FieldByName( 'Date ').AsDateTime   then
begin
            语句1;
end
else
begin
            语句2;
end;

这个时候我的数据表中记录的“date”字段是:2007-2-3
如果我的DateTimePicker1控件的DateTime也是2007-2-3。

这个时候应该是执行语句2。

但为什么程序是执行语句1?


请教高人如何解决?

------解决方案--------------------
DateTimePicker1控件中的属性Time是不是有值啊?
如果有的话,虽然在界面上该时间不显示出来,但是在你引用DateTimePicker1.Datetime时还是包括的,所以DateTimePicker1.Datetime肯定是大于ADOQuery.FieldByName( 'Date ').AsDateTime的。
------解决方案--------------------
注意 asdatetime 会精确到分秒...是这样的格式了:yyyy-mm-dd hh:mm:ss 建议用asdate按日期比较大小...
------解决方案--------------------
if StrToInt(FormatDatetime( 'YYYMMDD ',DateTimePicker1.DateTime))>
StrToInt(FormatDatetime( 'YYYMMDD ',ADOQuery.FieldByName( 'Date ').AsDateTime)) then
begin
语句1;
end
else
begin
语句2;
end;
------解决方案--------------------
试试这样
if FormatDateTime( 'yyyy-mm-dd ',DateTimePicker1.DateTime)> FormatDateTime( 'yyyy-mm-dd ',ADOQuery.FieldByName( 'Date ').AsDateTime) then
begin
语句1;
end
else
begin
语句2;
end;