ADO+Access 2000+Delphi 5 的查询问题???(50分)

  • 主题发起人 主题发起人 Tiger_Dxj
  • 开始时间 开始时间
T

Tiger_Dxj

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi5 通过ADO访问Access2000数据库,ADODataSe的CommandText属性为SQL字符串
Select 工作报告.* from 工作报告,客户资料 where 工作报告.客户名称=客户资料.客户名称
and 工作报告.日期>=#01-12-7# and 工作报告.日期 <= #02-1-6#
工作报告的日期字段是短日期型,此程序在Win2000下运行正常,可以找出3条记录,日期
分别是01-12-29和02-1-2,可是在98下就查询不出,我在98下用Access2000的
查询-设计试图来看这条Sql语句,条件部分变成 >=#07-1-12# And <=#06-2-1#,
如果把Sql语句的01-12-7 变成00-12-7,则又可以查询,在设计试图也是00-12-7。
那位大侠指教一下,谢谢!!!
 
试试:
Select 工作报告.* from 工作报告,客户资料 where 工作报告.客户名称=客户资料.客户名称
and format('yy-mm-dd',工作报告.日期)>="01-12-07" ...
 
也不行啊,还是哪样
 
请设置控制面板的“区域设置”里的短日期格式。要统一哦
我碰到很多次这种问题了
 
将如下代码家道某必须创建的类中,即可一劳永逸解决问题
initialization
//******************初始化日期格式,以使系统正常运行*****************
ShortDateFormat := 'yyyy-mm-dd';
DateSeparator := '-';
//*******************************************************************
 
是不是迭制面版里的日期设置的有问题?
 
有没有考虑将ADODataSet换成TADOQuery,用参数传值?
TADOQuery的SQL为
Select 工作报告.* from 工作报告,客户资料 where 工作报告.客户名称=客户资料.客户名称
and 工作报告.日期>=:FromDate and 工作报告.日期 <= :ToDate

ADOQuery.Close;
ADOQuery.Parameters.ParambyName('FromDate').Value := FromDate;
ADOQuery.Parameters.ParambyName('FromDate').Value := ToDate;
ADOQuery.Open;
 
多人接受答案了。
 
后退
顶部