如何查询某一时间段内的数据

nccrjjyy 2004-08-26 04:29:47
数据库是access的mdb数据库,字段 “打单时间”的数据类型是datetime
程序中使用sql语句查询
1、 adoquery1.SQL.Add('select * from table1 where 打单时间=#'+datetostr(date)+'# and 名称='''+wuliao+'''');
那么执行的时候,没有任何记录,即使在数据库中有符合条件的记录也显不出来。
2、 adoquery1.SQL.Add('select * from table1 where 打单时间 between #'+formatdatetime('yy/mm/dd',datetimepicker1.Date)+'# and #'+formatdatetime('yy/mm/dd',datetimepicker2.Date)+'# and 名称='''+wuliao+'''');

程序执行的时候,datetimepicker1中输入2004-6-1 datetimepicker2中输入2004-7-31,那么将所有的记录都显示出来,包括2004-6-1以前的数据
后来sql语句改成
adoquery1.SQL.Add('select * from table1 where 打单时间>=#'+datetostr(datetimepicker1.Date)+'# and 打单时间<=#'+datetostr(datetimepicker2.Date)+'# and 名称='''+wuliao+''''); 问题还是一样,恳请高手指点!

...全文
325 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiao197821 2004-08-26
  • 打赏
  • 举报
回复
通常的办法就是
你打个断点看看加入的SQL,放在数据库里面执行一下,基本上会发现问题
fengron 2004-08-26
  • 打赏
  • 举报
回复
数据存的日期格式和你输入的格式不匹配,一般用SQL进行日期操作的时候,使用格式函数把字段和输入的都格式为一种指定格式再比较就OK了,如都为'yyyy-mm-dd'
yuanscar 2004-08-26
  • 打赏
  • 举报
回复
再看看你数据库里面的日期格式
yuanscar 2004-08-26
  • 打赏
  • 举报
回复
你打个断点看看加入的SQL,放在数据库里面执行一下啊,
'select * from table1 where 打单时间>= QuotedStr(datetostr(datetimepicker1.Date)) and 打单时间<= QuotedStr(datetostr(datetimepicker2.Date)) and ...
试试看,最好再加上FormatDateTime
Shiyl 2004-08-26
  • 打赏
  • 举报
回复
你看看你数据库里的时间字段,保存格式是什么,格式不一样的话当然查不出

2,507

社区成员

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

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