求救,用SQL查找出在二个日期之间的所有数据。

i54 2004-07-13 09:24:14
ACCESS数据库,日期格式是2004-07-09 08:08:08,是YYYY-MM-DD HH:MM:SS的格式,现在我用二个datetimepicker控件选择日期,然后搜索数据库里面在这二个日期之间的数据,程序如下:
dataform.Qin.Close;//Qin是SQL查询的控件
dataform.Qin.SQL.Clear;
//in_thing 是要查找的数据库 in_time是日期,格式上面所说
dataform.Qin.SQL.Add('select * from in_thing where in_time between '+quotedstr('#'+datetimepicker1.Date+'#')+' and '+quotedstr('#'+datetimepicker2.Date+'#')+' order by id desc');

try
dataform.Qin.Open;
except
showmessage('查找失败!');
exit;
end;

谢谢各位了,在线等候,OK马上给分。
...全文
269 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
i54 2004-07-13
  • 打赏
  • 举报
回复
谢谢了,现在给分。
i54 2004-07-13
  • 打赏
  • 举报
回复
谢谢大家了,结果我试出来了。
是这样的:
dataform.Qin.SQL.Add('select * from in_thing where in_time between '+'#'+datetostr(datetimepicker1.Date)+'#'+' and '+'#'+datetostr(datetimepicker2.Date)+'#'+' order by id desc');
i54 2004-07-13
  • 打赏
  • 举报
回复
谢谢大家。
lonaerd 2004-07-13
  • 打赏
  • 举报
回复
正解:


dataform.Qin.SQL.Add('select * from in_thing where in_time between ''#'+datetostr(datetimepicker1.Date)+'#'' and ''#'+datetostr(datetimepicker2.Date)+'#'' order by id desc');

i54 2004-07-13
  • 打赏
  • 举报
回复
谢谢 gyj_china(透明),我试试。
gyj_china 2004-07-13
  • 打赏
  • 举报
回复
dataform.Qin.Close;//Qin是SQL查询的控件
dataform.Qin.SQL.Clear;
//in_thing 是要查找的数据库 in_time是日期,格式上面所说
dataform.Qin.SQL.Add('select * from in_thing where in_time between '''+'''#'+datetimepicker1.Date+'#'''+' and '+'''#'+datetimepicker2.Date+'#'''+' order by id desc');

try
dataform.Qin.Open;
except
showmessage('查找失败!');
exit;
end;
去掉两个转换函数,还有在引号内,两个单引号才等于一个单引号。
i54 2004-07-13
  • 打赏
  • 举报
回复
TO: hhnick(nick) 我试试看。
TO: chwdong(chwdong)。开始我也想用between....and.但是老出错。
hhnick 2004-07-13
  • 打赏
  • 举报
回复
将程序生成的sql语句到access中调试一下,看有什么问题。
chwdong 2004-07-13
  • 打赏
  • 举报
回复
between ( and )
lxftwo 2004-07-13
  • 打赏
  • 举报
回复
三个'''表示一个',必须这样写。
如果用参数写也行:
dataform.Qin.SQL.Add('select * from in_thing where in_time >= :sdate and in_time < =;edate order by id desc');
dataform.Qin.parambyname('sdate').asdatetime=strtodatetime(edit1.text);
dataform.Qin.parambyname('edate').asdatetime=strtodatetime(edit2.text);

dataform.Qin.open;
i54 2004-07-13
  • 打赏
  • 举报
回复
laiyiling(最熟悉的陌生人) 查过已前的贴子了,不明。。只有二贴,但是有点不同于我这个。
i54 2004-07-13
  • 打赏
  • 举报
回复
WSprg() ,上面的程序说类型不配
Kudeet 2004-07-13
  • 打赏
  • 举报
回复
看看以前的帖子有的
i54 2004-07-13
  • 打赏
  • 举报
回复
谢谢,不过还是不行,找不到。请问多一下,'select * from in_thing where in_time >= ''' ,这里为什么要'''这个三点啊,一点'不行吗??
WSprg 2004-07-13
  • 打赏
  • 举报
回复
dataform.Qin.SQL.Add('select * from in_thing where in_time >= ''' + DateToStr(datetimepicker1.Date)+''' and in_time < '''+DateToStr(datetimepicker2.Date)+''' order by id desc');
i54 2004-07-13
  • 打赏
  • 举报
回复
UP自己顶下,大家帮帮忙,!!谢谢了。

5,379

社区成员

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

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