sqlstring:=sqlstring+'File.FileDate>=#'+formatdatetime('yyyy-mm-dd hh:nn:ss',date1.DateTime) +'# and File.FileDate<=#'+formatdatetime('yyyy-mm-dd hh:nn:ss',date2.DateTime)+'#';最好改成:sqlstring:=sqlstring+'File.FileDate between :StartDate and :EndDate'然后用Param赋值:Query1.ParamByName('StartDate').asDateTime:=date1.DateTime; Query1.ParamByName('EndDate').asDateTime:=date2.DateTime;
+'# and File.FileDate<=#'+formatdatetime('yyyy-mm-dd hh:nn:ss',date2.DateTime)+'#';最好改成:sqlstring:=sqlstring+'File.FileDate between :StartDate and :EndDate'然后用Param赋值:Query1.ParamByName('StartDate').asDateTime:=date1.DateTime;
Query1.ParamByName('EndDate').asDateTime:=date2.DateTime;
~~
+'# and File.FileDate<=#'+formatdatetime('yyyy-mm-dd hh:nn:ss',date2.DateTime)+'#';
这部分改成用参数的形式输出,造成错误的原因是'hh:nn:ss'被误以为是参数
+'# and File.FileDate<=#'+formatdatetime('yyyy-mm-dd hh:nn:ss',date2.DateTime)+'#';
这部分改成用参数的形式输出,造成错误的原因是'hh:nn:ss'被误以为是参数
ADOQuery1.Parameters.ParamByName(FileDate2).Value := date2.DateTime;试试
ADOQuery1.Parameters.ParamByName('FileDate1').Value := Date1.Datetime;ADOQuery1.Parameters.ParamByName('FileDate2').Value := Date2.Datetime;
问题依旧!
问题依旧!