在access库中查询时间的问题,同样的句子access中正确,delphi中出错,感到迷惑。 (100分)

  • 主题发起人 主题发起人 cqll
  • 开始时间 开始时间
C

cqll

Unregistered / Unconfirmed
GUEST, unregistred user!
这句话,在ACCESS中运行是正常的。
SELECT *
FROM tablename
WHERE (CurDate>=#2002-09-29 23:30:0#) And (CurDate<=#2002-09-30 00:30:00#);

在DELPHI中,将其赋给ADOQUERY的SQL再执行就报:参数对象被不正确的定义.
想请教各位错在那里。非常急。
 
时间日期用单引号引起来,不要用井号。
 
使用参数来代替日期
With AdoQuery1 do
begin
close;
sql.clear;
sql.add('SELECT * FROM tablename WHERE (CurDate>=:atime) And (CurDate<=:bTime)');
Parameters.ParamByName('aTime').Value:='2002-09-29 23:30:0';
Parameters.ParamByName('bTime').Value:='2002-09-30 23:30:0';
Execute;
end;

 
用单引号不正确,报类型不匹配。能不能写条范例。
 
With AdoQuery1 do
begin
close;
sql.clear;
sql.add('SELECT * FROM tablename WHERE (CurDate>=:atime) And (CurDate<=:bTime)');
Parameters.ParamByName('aTime').Asstring:='2002-09-29 23:30:0';
Parameters.ParamByName('bTime').Asstring:='2002-09-30 23:30:0';
Execute;
end;
试一下。
 
select * from table1 where date1=#mm-dd-yyyy#
 
应该是书写格式的问题吧
 
多人接受答案了。
 
后退
顶部