如何用DateTimePicker和ADOQuery对表中的日期进行查询,请各位高手指点。
解决方案 »
- Delphi 7如何下载Win7系统里FTP目录里的文件?
- ehlib打印問題!
- 请问TIdUDPServer的ReceiveBuffer和SendBuffer方法怎么样用,需求跟其它控件结合吗?
- 关于TcpServer的跨网通信
- Delphi中如何连接打开VFP数据库?
- 如何屏蔽TWebBrowser的右键菜单
- 探讨进销存
- 问各位关于dbgrid得备份和还原得问题。。。
- 急!!!急!!!啊!!!提一个关于鼠标的问题!!
- 一个查询结果集(DBGRID显示),一个[小计]按钮,知道请进
- 这个东西我搞不定,不爽呀,帮我搞定,给分!!!!! 不够再开贴加
- 在DBMEMO控件中清空(数据消失了)再输入数据时,原来的数据也同时出现,这是怎么回事?
select * from table1 where operatedate >= '2002/11/12 12:33:02'SQL 中相关的日期操作函数:
DateDiff()
可以计算出两个日期的距离(就是相差多长时间)。可以看看 SQL 的 Books online.
query1.sql.clear;
query1.sql.add('select * from tablename where rq>=:date1');
query1.ParamByName('date1').AsDatetime:=FormatDatetime('yyyy-mm-dd',DateTimepicker1.datetime);
query1.prepare;
query1.open;
ADOQuery1.Parameters.ParamByName('time1').Value:=DateTimePicker1.Date;
ADOQuery1.Parameters.ParamByName('time2').Value:=DateTimePicker2.Date;
sqlstring:string;
begin
query1.close;
query1.sql.clear;
query1.sql.text;='select * from tablename where rq>=;
query1.ParamByName('date1').AsDatetime:=FormatDatetime('yyyy-mm-dd',DateTimepicker1.datetime);
query1.prepare;
query1.open;
end;
应该这样:
var
sqlstring:string;
begin
//如果是大于或小于
sqlstring:='select * from table where rq>'+''''+datetostr (DateTimepicker1.datetime)+'''';
//如果是在两个日期之间就用BETWEEN
sqlstring:='select * from table where rq between'+''''+datetostr (DateTimepicker1.datetime)+''''+'and'+''''+datetostr(DateTimepicker2.datetime)+'''';
query1.close;
query1.sql.clear;
query1.sql.text;=sqlstring;
query1.prepare;
query1.open;
end;