在Delphi6中Adoquery连接Access数据库的一个问题

jiaxianglei 2002-08-09 06:40:23
在Delphi6中我原来用Adoquery连接SQL Server数据库,查询语句为:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from 表名 where 字段=:a');
adoquery1.parameters.ParamByName('a').value:=strtodate(edit1.text)-1;
adoquery1.open;
其中edit1中为输入的日期,该语句是查询输入日期前一天的记录.运行正常.

但是当连接Access数据库时,系统提示:
"标准表达式中数据类型不匹配."
如果是strtodate(edit1.text)则对,加上-1就出错.
请问:Adoquery连接Access数据库时,日期的前一天如何表示,
是不是strtodate(edit1.text)-1?

如能解决分数可再加,谢谢各位啦.
...全文
51 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaxianglei 2002-08-10
  • 打赏
  • 举报
回复
shortdateformat:='yyyy-mm-dd';
chenjiong 2002-08-10
  • 打赏
  • 举报
回复
另外还有:在Access中,查询日期型的数据时得在日期前后加上#,如#2000-3-4#这样的格式,不然就算有数据也查询出是个空集。
h_huajun 2002-08-10
  • 打赏
  • 举报
回复
写成这样就可以了:
adoquery1.parameters[0].Value:=datetostr(strtodate(edit1.text)-1);
jiaxianglei 2002-08-10
  • 打赏
  • 举报
回复
Access中日期的前一天(前二天,前若干天)如何表示?
l_xiaofeng 2002-08-10
  • 打赏
  • 举报
回复
参数a的值与ACCESS中的日期格式不匹配造成的错误.
jiaxianglei 2002-08-10
  • 打赏
  • 举报
回复
del_c_sharp(头大中......) 的方法我试过了,同样的毛病,还是不能实现。
langer 2002-08-10
  • 打赏
  • 举报
回复
看着头痛,不看!
honey_001 2002-08-10
  • 打赏
  • 举报
回复
del_c_sharp(头大中......) 的方法可以实现.
del_c_sharp 2002-08-10
  • 打赏
  • 举报
回复
如真如你所说
有一种方法肯定可以两全:strtodate(edit1.text)+strtodate(1-1-2002)-strtodate('1-2-2002');
jiaxianglei 2002-08-10
  • 打赏
  • 举报
回复
TO flyhorse999(飞马):
adoconnection的connectionstring已经改成Jet...,用于连接Access数据库,adoquery的connection设为adoconnection,与数据库连接正常。但系统提示:
"标准表达式中数据类型不匹配."如何把字符型转换为Access能识别的日期型数据?
flyhorse999 2002-08-10
  • 打赏
  • 举报
回复
Adoquery的commandstring改了吗?如果没改,要改成Jet...,这个数据驱动

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧