这条DateTimePicker日期查询语句怎么写?

tjyihui 2002-03-08 10:16:40
这条DateTimePicker日期查询语句怎么写?
我用ADOQuery连接ACCESS数据库,在实现查询2个日期区间内的数据时遇到问题
添加两个DateTimePicker,分别命名为xf_date1和xf_date2
SQl语句如下:
adoquery1.sql.text:='select * from 数据库 where time>DateTimeToStr(xf_date1.date) and time<DateTimeToStr(xf_date1.date)';
但是总是报错!(表达式中'DateTimeToStr'函数未定义)
请问如何写日期查询语句???

...全文
76 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjyihui 2002-03-10
  • 打赏
  • 举报
回复
还是不行
全部报错!!!
谁能帮帮我
tjyihui 2002-03-10
  • 打赏
  • 举报
回复
成功了,终于成功了,语句如下:

adoquery1.sql.text:='select * from 消费 where 日期 between #'+DateToStr(dtp_date1.date)+'# and #'+DateToStr(dtp_date2.date)+'#';

谢谢大家,散分!散分!
ihihonline 2002-03-10
  • 打赏
  • 举报
回复
呵呵,
先收藏喽;
tjyihui 2002-03-10
  • 打赏
  • 举报
回复
谢谢大家的回复,终于成功了,语句如下:
adoquery1.sql.text:='select * from 数据库 where time between #2002-3-5# and #2002-3-10#';
不过只实现静态查询,利用DateTimePicker的动态查询还没有实现!!
请问如何将上述语句改为动态查询?

我查了一下ACCSEE的帮助,其中有一段话:

使用自定义格式,可以根据所输入数的正负性,在年代之前显示“A.D.”或在年代之后显示 “B.C.”。若要查看该自定义格式是如何工作的,请新建一个表字段,将数据类型设置为“数字”,并输入如下的格式:

"A.D. " #;# " B.C."

正数将在年代之前显示“A.D.”。负数则在年代之后显示“B.C.”。

chechy 2002-03-10
  • 打赏
  • 举报
回复
1、用Query的参数,哪里都是对的,不论什么数据库。
2、因为是Access,所以用#在日期前后,应该也是对的。
你这里报错,完全是你的错误的。因为你其他代码也有问题,这个现在谁也帮不了你。
CeleronII 2002-03-10
  • 打赏
  • 举报
回复
日期前后加上#号字符就可以搞定了
ddjll 2002-03-10
  • 打赏
  • 举报
回复
adoquery1.sql.text:='select * from 数据库 where time>'+QuotedStr(DateTimeToStr(xf_date1.date))+' and time<'+QuotedStr(DateTimeToStr(xf_date1.date))+'';
stall 2002-03-09
  • 打赏
  • 举报
回复
老兄,建议日期在存储时用字符串格式,SQL语名中对日期按字符串来比较。以前我也被日期查询搞得头大,现在用字符串格式的日期后好办多了。
武稀松 2002-03-09
  • 打赏
  • 举报
回复
adoquery1.sql.text:='select * from 数据库 where time>#'+DateTimeToStr(xf_date1.date)+'# and time<#'+DateTimeToStr(xf_date1.date)+'#';
lvloj 2002-03-09
  • 打赏
  • 举报
回复
adoquery1.sql.text:=format('select * from 数据库 where time>%s and time<%s', [QuotedStr(DateTimeToStr(xf_date1.date)) ,QuotedStr(DateTimeToStr(xf_date1.date))]);
tjyihui 2002-03-08
  • 打赏
  • 举报
回复
to : chechy(我爱洁洁)
谢谢你的代码,不过还是报错:标准表达式中数据类型不匹配
(我的time字段的数据结构为"日期/时间",格式为"短日期"如1999-2-5)
是不是ACCESS的日期数据类型和DateTimePicker有区别?

to: xxx_20_02(zz)
能否给出详细的代码,我是用DateTimePicker获取动态日期,而不是静态的:date < #2000-1-1#
谢谢
xxx_20_02 2002-03-08
  • 打赏
  • 举报
回复
如果是连Accsee 必须是 date < #2000-1-1#
我前几天也碰上这个问题
实在不行
Format(' date < %f ',[xf_date.date]);
chechy 2002-03-08
  • 打赏
  • 举报
回复
adoquery1.sql.text:='select * from 数据库 where time>:Date1 and time<:Date2';
adoquery1.Parameters.ParamByName('Date1').Value := xf_date1.Date;
adoquery1.Parameters.ParamByName('Date2').Value := xf_date2.Date;
adoquery1.Open;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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