我在SQL中为何用不能时间格式SELECT(50分)

  • 主题发起人 主题发起人 didi413
  • 开始时间 开始时间
D

didi413

Unregistered / Unconfirmed
GUEST, unregistred user!
在两个DateTimePicker控件,将他们的kind属性都先设为dtkdate,然后在查询事件中写如下代码:
var date1,date2,date3,date4:string;
...
begin
date1:=datetostr(datetimepicker1.Date);
date2:=datetostr(datetimepicker2.Date);
with query1 do
begin
close;
SQL.Clear;
SQL.Add('select * from yourtablename ');
SQL.Add('where fieldname between #'+date1+'# and #'+date2+'#');
Open;
end;
....
这样是可以的,但是将kind属性都设为dtktime,
date3:=timetostr(datetimepicker3.time);
date4:=timetostr(datetimepicker4.time);再执行上面的SQL语句时就报错。
(Parameter 不正确被定义。提供不一致或不完整的内容)
DELPHI6.0+Access2000下。为什么?
 
时间中的分隔符 ":"变成了参数定义。
换一种写法,或直接用两个参数来定义。
 
建议用param,
 
TO: jsxjd ,chocolate
如果用参数的话该如何写,帮忙写出个大概的步骤。谢谢!
 
你不是用两个DateTimePicker控件吗?
怎么
datetimepicker1;
datetimepicker2;
还有
datetimepicker3;
datetimepicker4?
 
同意chocolate,可以省却太多麻烦
 

with query1 do
begin
close;
SQL.Clear;
SQL.Add('select * from yourtablename');
SQL.Add('where fieldname>=: and fieldname<=: ');
params[0].asdatetime:=datetimepicker1.date;
params[1].asdatetime:=datetimepicker2.date;
try open except end;
end;
 
多人接受答案了。
 
后退
顶部