在delphi中选择两个日期,在SQL中的表中查询有没有在日期范围之内,有显示出来 我的代码
with 打他module1.ADOQuery1 do
begin
close;
sql.clear;
sql.Add('select * from xg090218_jc');
sql.add('where 进仓日期 between :a and :b');
parameters.ParamByName('a').Value :=datetostr(datetimepicker1.date);
parameters.ParamByName('b').Value :=datetostr(datetimepicker4.date);
open;
end
查询的结果没有记录,只显示了表的一些属性名
追问:[Error] XG090218_sear.pas(125): Undeclared identifier: 'YY'原来是我datetimepick1和4弄反了,不过你说的也对的,只是YY-MM-DD少了" "
答案:with datamodule1.ADOQuery1 do
begin
close;
sql.clear;
sql.Add('select * from xg090218_jc where [进仓日期]>:a and [进仓日期]<:b');
parameters.ParamByName('a').Value :=formatdatetime(YY-MM-DD,datetimepicker1.date) + ' 00:00:00';
parameters.ParamByName('b').Value :=formatdatetime(YY-MM-DD,datetimepicker4.date) + ' 23:59:59';
open;
end
程序改为以上的,然后检查你数据库里进仓日期字段的数据类型是否为datetime,如果是,则就用以上代码。如果是Varchar那么就
parameters.ParamByName('a').Value :=datetostr(formatdatetime(YY-MM-DD,datetimepicker1.date)) + ' 00:00:00';
parameters.ParamByName('b').Value :=datetostr(formatdatetime(YY-MM-DD,datetimepicker4.date)) + ' 23:59:59';
其他:那说明确实没有符合条件的数据。 where 前加空格
好像变量加在sql里更麻烦,可以在delphi里把变量定义了,但是具体怎么定义我也不太会了
上一个:Delphi 中函数返回值 怎么定义 我刚学这
下一个:delphi如何修改string单个元素