在Access中访问日期型数据的问题?(20分)

  • 主题发起人 主题发起人 autojet
  • 开始时间 开始时间
A

autojet

Unregistered / Unconfirmed
GUEST, unregistred user!
在Access2000数据库表中,在表(Worktime)中没有数据时,我使用如下SQL语句可以查询成
功:Select * from Worktime Where CDate='#2002/09/21#'
然而当表中插入记录后,使用此语句却出错,说是语法错误。我在ODBC中建立一个数据源,
通过Delphi6带的SQL Explore使用同样的以上语句,却又可以正常查询,请问这是Delphi
5/6的Ado的一个BUG还是OLE JET DB驱动程序的问题?
拜托,只有20分了,下次补上!
 
Select * from Worktime Where CDate=#2002/09/21#
用了#就不要用'
 
两个#号是干什么用的,去掉最试试看
 
我以前也碰到过此问题,access中使用sql语句是麻烦多,你带参数试吧。

with query1 do begin
close; sql.clear;
sql.add('select * from Worktime where CData=:');
params[0].asdatetime:=aDate; //TDate型,也就是你的日期
try open except end
end

这也是以前别人告诉我的。
 
#2002/09/21# 改 {2002/09/21} 还有驱动引擎
 
在Access数据库中,对日期类型的字段的操作是直接在数据两端加上'#',不用加引号。
 
接受答案了.
 
后退
顶部