delphi中用oledb for visual foxpro存取dbf数据,SQL语句中日期格式--不用参数形式形吗(100分)

  • 主题发起人 主题发起人 aspire
  • 开始时间 开始时间
A

aspire

Unregistered / Unconfirmed
GUEST, unregistred user!
现对一工厂的旧的NOVELL+VFP2.6+UCDOS系统增加综合报表及条形码打印功能,要求用delphi.

在delphi中用OleDB for visual foxpro驱动,ADOQUERY查询时, 如果用户给的查询条件中有日期型字段查询,如果不用参数,直接写SQL语句,日期如何表达? 是不是一定要用参数形式的SQL语句才能解决日期查询问题?
 
DBF的数据库日期查询打开时,必须要加这个参数以下写就可以解决了。
ADOQuery1.SQL.Text :='select * from table where cdate=:a'
ADOQuery1.Parameters.ParamByName('a').Value :=cDate
ADOQuery1.Open ;
 
ADOQuery1.SQL.Text :='select * from table where cdate=:a'
ADOQuery1.Parameters.ParamByName('a').Value :=cDate
ADOQuery1.Execute
 
这种用参数的方式当然没问题,但是运行的速度比较慢。

由于查询时,用户可以任意选择并组合查询条件,有时没有日期字段在查询条件中,有时可能有多个日期字段在查询条件中,所以若用参数,就不灵活了。
 
后退
顶部