关于在delphi中对两个日期之间的记录进行查询。急急!!!!

liyong00512 2003-08-30 05:34:50
现在我要查找某个时间段的记录进行查询,时间来自DateTimePicker1,请问如何写。
语句在SQL中能够执行,但是在delphi中不能执行。
//=========================================
ADOQry_Grid.SQL.Add('and a.shijiaorq between '''+DateToStr(DateTimePicker1.Date)+''' and '''+DateToStr(DateTimePicker1.Date)+'' );
//========================================
...全文
153 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
甜而不腻 2003-09-22
  • 打赏
  • 举报
回复
这么简单问题,还问,上面真是热闹,如果复杂问题大家还这样积极吗?
有本事的进下面这个问题;
http://expert.csdn.net/Expert/topic/2288/2288203.xml?temp=.2813227
johnnyqiu 2003-09-22
  • 打赏
  • 举报
回复
' and a.shijiaorq between :std and :etd '

self.adoquery1.parameters.parambyname('std').value :=datetostr(self.datetimepicker1.date);
..
yuner5 2003-09-22
  • 打赏
  • 举报
回复
我试了一下,这样写不会有问题

ADOQry_Grid.SQL.Add('and a.shijiaorq<='''+DateToStr(DateTimePicker1.Date)+''' and a.shijiaorq>='''+DateToStr(DateTimePicker1.Date)+'''');

readersm68 2003-09-22
  • 打赏
  • 举报
回复
呵呵,热闹啊
zhksoft 2003-09-21
  • 打赏
  • 举报
回复
adoquery1.active:=false;
adoquery1.SQL.Add('select * from 表名');
adoquery1.sql.aDD('where 时间1>=:data1 and 时间2<=:data2');
adoquery1.Parameters.ParamByName('data1'):=DateTimePicker1.Date;
adoquery1.Parameters.ParamByName('data2'):=DateTimePicker2.Date;
adoquery1.active:=true
===========================

adoquery1.Parameters.ParamByName('data1'):=DateTimePicker1.Date;

adoquery1.Parameters.ParamByName('data2'):=DateTimePicker2.Date;
中的DateTimePicker1.Date改为datatostr(DateTimePicker1.Date)


我也是正在查相关的资料,刚刚看到的答案,正在试。回头试好了,再联系

snowolf_ren 2003-08-30
  • 打赏
  • 举报
回复
'ASdateTime'是哪来的?
franne 2003-08-30
  • 打赏
  • 举报
回复
adoquery1.active:=false;
adoquery1.SQL.Add('select * from 表名');
adoquery1.sql.aDD('where 时间1>=:data1 and 时间2<=:data2');
adoquery1.Parameters.ParamByName('data1'):=DateTimePicker1.Date;
adoquery1.Parameters.ParamByName('data2'):=DateTimePicker2.Date;
adoquery1.active:=true;
这样就差不多了,试试看
liyong00512 2003-08-30
  • 打赏
  • 举报
回复
我用了楼上两位的方法
但是出错
//===================
[Error] Unit1.pas(39): Undeclared identifier: 'ASdateTime'
//===================
请问为什么?
luckyboy97 2003-08-30
  • 打赏
  • 举报
回复
adoquery1.SQL.Add('select * from 表名');
adoquery1.sql.aDD('where 时间1>=:data1 and 时间2<=:data2');
adoquery1.Parameters.ParamByName('data1').ASdateTime:=DateTimePicker1.Date;
adoquery1.Parameters.ParamByName('data2').ASdateTime:=DateTimePicker2.Date;
adoquery1.Open;
dickeybird888 2003-08-30
  • 打赏
  • 举报
回复
adoquery1.SQL.Add('select * from table1 ');
adoquery1.sql.aDD('where shijianrq>=:Aa1 and shijianrq<=:Aa2');
adoquery1.Parameters.ParamByName('Aa1').ASdateTime:=DateTimePicker1.Date;
adoquery1.Parameters.ParamByName('Aa1').ASdateTime:=DateTimePicker2.Date;
adoquery1.Open;
liyong00512 2003-08-30
  • 打赏
  • 举报
回复
ADOQry_Grid.SQL.Add('and a.shijiaorq >='''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+'');
ADOQry_Grid.SQL.Add('and a.bencirq<='''+formatdatetime('yyyy-mm-dd',datetimepicker2.Date)+'');
//============
上面的怎么样???
WuLoveXue 2003-08-30
  • 打赏
  • 举报
回复
ADOQry_Grid.SQL.Add('and a.shijiaorq between*'+DateToStr(DateTimePicker1.Date)+'*and *'+DateToStr(DateTimePicker1.Date));

中的a.shijiaorq 应该把它的日期取出来,看你用什么数据库,用什么函数取咯!
wellshddelphi 2003-08-30
  • 打赏
  • 举报
回复
你要不传参数,要不直接赋值;都可以的;
ADOQry_Grid.SQL.Add('and a.shijiaorq between*'+DateToStr(DateTimePicker1.Date)+'*and *'+DateToStr(DateTimePicker1.Date));
注:"*"处代表空格,不要用''表示,很容易错的.
dulei115 2003-08-30
  • 打赏
  • 举报
回复
对不起!说错了!Datatostr没到SQL里面去!
dulei115 2003-08-30
  • 打赏
  • 举报
回复
还有就是Datatostr是Delphi的函数,SQl不认识,你最好把DateToStr(DateTimePicker1.Date)换成参数。
dulei115 2003-08-30
  • 打赏
  • 举报
回复
ADOQry_Grid.SQL.Add('and a.shijiaorq between '''+DateToStr(DateTimePicker1.Date)+''' and '''+DateToStr(DateTimePicker1.Date)+'' 这里缺个');

2,496

社区成员

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

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