Access 的日期比较问题

bluespy 2005-10-27 09:43:31
这句运行不过去:
t1:= strtodatetime('2005-9-19 23:24:18');
sql.Add('select * from renzhen where sj_stoptime >#'+datetimetostr(t1)+'#');

这sj_stoptime也是这种格式的为什么一运行就显示: parameter对象被不正确的定义,提供了不一致或不完整的信息.

谢谢了
...全文
312 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
apartst 2005-11-11
  • 打赏
  • 举报
回复
datediff("m", now, "2005-11-10")比较到月份
datediff("d", now, "2005-11-10")比较到天
datediff("s", now, "2005-11-10")比较到秒
你那句可以这样写
'select * from renzhen where DateDiff("s", ''' + formatdatetime('yyyy-mm-dd HH:MM:SS', t1) + ''', sj_stoptime) > 0'
Maple119 2005-11-11
  • 打赏
  • 举报
回复
在ACCESS里,在日期判断方面,我都是用浮点数来的.比如:
AQ.SQL.Text:='select * from TableName where FieldName>:P1';
AQ.Parameters.ParamByName('P1').Value:= Now()
刘慧谦 2005-11-11
  • 打赏
  • 举报
回复
access在delphi的日期最好用Parameters表示,没那么容易出错。
huangwei_sh 2005-11-11
  • 打赏
  • 举报
回复
有办法解决D,即使我告诉你这个问题了,以后用日期型还会碰到其他问题的,我建议不要用日期型,这个东西害死人,又没多大意义,用string,搞时间长了你就知道了!
zzlw 2005-11-11
  • 打赏
  • 举报
回复
sql语句中好像不支持系统与用户自定义的函数,各位是如何处理的呢?
jordanxubin 2005-11-10
  • 打赏
  • 举报
回复
我也遇到不这种问题,可是我用SQlSever数据库查询分析器可用,在Access上会出错,可能Access上不支持日期比较,可以用year(sj_stoptime),month(sj_stoptime),day(sj_stoptime)一个一个比较!不知道还有什么更好的解决方法?
bluespy 2005-10-27
  • 打赏
  • 举报
回复
谢谢你, 北极熊, 可是我的sql是这样的啊, 错误提示也是一样的
我的sql:
begin
sql.Clear ;
sql.Add('select * from renzhen where sj_stoptime >#'+formatdatetime('yyyy-mm-dd HH:MM:SS',t1)+'#');
zsjzwj 2005-10-27
  • 打赏
  • 举报
回复

sql.Add

改为

sql.text := 'select * from renzhen where sj_stoptime >#'+formatdatetime('yyyy-mm-dd HH:MM:SS',t1)+'#';
bluespy 2005-10-27
  • 打赏
  • 举报
回复
不行啊, 改成这样, 出错信息还是一样的 :(
zsjzwj 2005-10-27
  • 打赏
  • 举报
回复
datetimetostr(t1)

改为

formatdatetime('yyyy-mm-dd HH:MM:SS',t1)
bluespy 2005-10-27
  • 打赏
  • 举报
回复
up

2,497

社区成员

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

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