...where 日期 between '2002-9-2' and '2003-5-8
解决方案 »
- 如何使DateTimePicker1可以同时显示日期和时间????
- 创建存储过程的问题
- 小鸽子数据库工具2006V1新版本发布. 生成delphi代码&数据库文档.欢迎大家下载
- 使用ADOConnection连接数据库时,显示“没有注册类别”是怎么回事?
- 请大虾们给个运行时动态调用包的例子吧,谢谢!!!
- Edit1.text as Button1
- 为什么我的裁剪图 位置就是不对 delphi写的
- ADO连接有密码的ACCESS,提示错误。
- delphi7安装皮肤控件Skin 7.0后form窗体caption不能修改
- 求高手解决,怎样才能截获自己正在发送的邮件?????
- 今天买碟时看到一张Delphi 6.6中文版,我以前怎么没过,有这个版本吗?
- 有没有哪位高手可以帮我写一个判断日期合法性的函数?
with datamodule2.Query_inventory do
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between #'''+datetostr(dtp_start.Date)+'''# and #'''+datetostr(dtp_stop.Date)+'''#');
prepare;
open;
end;
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between :date1 and :date2);
prepare;
params[0].asdatetime := dtp_start.date;
params[1].asdatetime := dtp_stop.date;
open;
end;
sql.Add('select * from collect where date between to_date('''+datetostr(dtp_start.Date)+''','yyyy-mm-dd') and to_date('''+datetostr(dtp_stop.Date)+''','yyyy-mm-dd)')';
...
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between :date1 and :date2);
prepare;
params[0].asdatetime := dtp_start.date;
params[1].asdatetime := dtp_stop.date;
open;
end;
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between #'+datetostr(dtp_start.Date)+'# and #'+datetostr(dtp_stop.Date)+'#');
prepare;
open;
end;
==============================
你的问题是多了几个单引号,##之间的不是字符串就行用参数当然可以,但是直接写sql语句的话,可移植性就强很多
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between #'''+Fromatdatetime('m"/"d"/"yyyy,dtp_start.Date)+'''# and #'''+Fromatdatetime('m"/"d"/"yyyy,dtp_stop.Date)+'''#');
prepare;
open;
end;
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between :StartDate and :EndDate')
ParamByName('StartDate').Value:=datetostr(dtp_start.Date);
ParamByName('EndDate').Value:=datetostr(dtp_stop.Date);
prepare;
open;
end;
begin
databasename:='case';
close;
sql.Clear;
sql.Add('select * from collect where date between :date1 and :date2);
prepare;
params[0].value := formatdatetime('yyyy-mm-dd',dtp_start.date);
params[1].value := formatdatetime('yyyy-mm-dd',dtp_stop.date);
open;
end;