当前位置:编程学习 > Delphi >>

在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单个元素

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,