查询时间段的问题(10分)

  • 主题发起人 erbbchen
  • 开始时间
E

erbbchen

Unregistered / Unconfirmed
GUEST, unregistred user!
Query_temp.SQL.Add('select distinct kh, dh from t_gxfp where s_date >= :sdate and s_date <= :edate order by kh, dh');
Query_temp.Parameters.ParamByName('sdate').Value := datetostr(DTP_sdate.Date);
Query_temp.Parameters.ParamByName('edate').Value := datetostr(DTP_edate.Date);
Query_temp.Open;

以上写法sql问题:在日期范围内查询出来的结果如果起止日期不同则包含起始,不包含终止
如果相同根本查不到,请问什么原因
 
这样写可能没问题:
Query_temp.SQL.Text := 'select distinct kh, dh from t_gxfp where s_date >= ''' +
datetostr(DTP_sdate.Date) + ''' AND s_date <= ''' +
datetostr(DTP_edate.Date) + ''' order by kh, dh ';
Query_temp.Open;

 
可能是时间格式的问题,查看以下计算机配置的时间格式是否与所使用的日期格式相同,最好先格式化以下
 
应该是数据库中的时间是到分秒的,而你赋值的参数是到日的
 
你用的是什么数据库,如果是Access的话在查询时间的时候时间参数两端要用#号,如:
sdate>=#2003-3-27#
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
926
DelphiTeacher的专栏
D
顶部