mxADOQuery.SQL.Add('select * From Table')
mxADOQuery.SQL.Add(' where DDTime>=#:BDateTime # AND DDTime<=#:EDateTime #');我如果不用#就可以执行下去,用#的格式是什么,这样不对吗?
mxADOQuery.SQL.Add(' where DDTime>=#:BDateTime # AND DDTime<=#:EDateTime #');我如果不用#就可以执行下去,用#的格式是什么,这样不对吗?
where date=:Date 正确
where date=#:Date# 错误在sqlserver或oracle中
where date=:Date 正确
where date=':Date' 错误给参数赋值的时候直接赋值日期型即可。
mxADOQuery.SQL.Add('select * From Table')
mxADOQuery.SQL.Add(' where DDTime>=2010-10-28 AND DDTime<=2010-10-28');
为什么不会出现此条记录?我的条件是大于等于啊!!
mxADOQuery.SQL.Add(' AND 客户名称=’‘’'+khFlag+'’‘');标准语句是: (AND 客户名称='客户1')
var
time1,time2:string;
begin
mxADOQuery.ParamCheck:=False;
time1:=FormatDateTime('yyyy-mm-dd hh:nn:ss',BDateTime );
time2:=FormatDateTime('yyyy-mm-dd hh:nn:ss',EDateTime );
mxADOQuery.SQL.Add('select * From Table')
mxADOQuery.SQL.Add(Format(' where DDTime>=#%s# AND DDTime<=#%s#',[time1,time2]));
mxADOQuery.ParamCheck:=False;
原因出在这里,你自己看,:后面的字既然是表示变量的。那你的时间12:00:00 冒号后面的00就以变量来表示了
取消ParamCheck功能后,:就能正常的使用,但你传入变量时,需要FORMAT帮助转化。