where ftime>#2003-5-1#可以通过,为什么where ftime>#2003-5-1 14:00:35#不能通过?

six_six_ 2003-05-05 09:48:31
我用的是D7+ACCESS XP;用ADO Query想查询一段时间的记录,
SQL为
select * from tbl where ftime>#2003-5-1 14:00:35#
运行时通不过.而去掉时间,只存日期,换成

select * from tbl where ftime>#2003-5-1#
就可以,
其中数据库中的记录为:
id name value time
.. .. 2003-4-23 12:12:22
.. . . . 2003-5-1 15:32:24
.. .. ..
记录中有日期和时间.
后来我想换为变量的形式:
..
MySQL:='select * from tbl where ftime>:ADateTime'
DM.adoQry.Parameters.ParaByName('ADateTime').value :='#2003-5-1 14:00:35#'
with dm.adoqry do
begin
close;
sql.clear;
sql.add(mysql);
open; //出错
..

...

并在DM.adoQry中加入了ADateTime参数变量,可是执行时出错,提示为找不到ADateTime参数变量,我明明DM.adoQry的属性列表Parameters中在定义了,不知怎么回事.兄弟们帮忙看看.
...全文
45 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
six_six_ 2003-06-21
  • 打赏
  • 举报
回复
谢谢
Maxwell 2003-05-05
  • 打赏
  • 举报
回复
第一个问题,因为你的时间里面有冒号(':'),所以会被当成参数来处理,把TQuery 的ParamCheck 属性设置为False 可以解决问题。
第二个问题,在你对sql 属性赋值之后再对参数赋值,像下面这样
sql.add(mysql);
DM.adoQry.Parameters.ParaByName('ADateTime').value :='#2003-5-1 14:00:35#';
six_six_ 2003-05-05
  • 打赏
  • 举报
回复
打错了:

其中数据库中的记录为:
id name value ftime
.. .. 2003-4-23 12:12:22
.. . . . 2003-5-1 15:32:24
.. .. ..

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧