一个关于 判断会员到期 的问题 !请各位前辈指教!

olover 2005-08-16 09:15:15
<%
dim dd
dd="已付费"
cc=now
exec="select * from [user] where datediff(year,inputtime,'"&date&"')>1 and ff='"&dd&"' and lock=0 order by userid desc"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
if rs.eof or rs.bof then
response.Write("没记录")
else
rs.PageSize=30
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then
page=1
end if
rs.AbsolutePage=page
%>
_________________________________________________________________________________
inputtime 是Access数据库中的一个字段 ,表示用户注册时间
现在想通过sql语句把Access数据库user表中距当前时间大于一年的用户显示出来但提示sql语句有问题
,但datediff函数在sql server2000中可以运行,是怎么回事呀?
请高手指教
...全文
157 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
olover 2005-08-24
  • 打赏
  • 举报
回复
开始放分 ~~~ 大哥们接好了!
olover 2005-08-24
  • 打赏
  • 举报
回复
各位大哥 感动的我想哭 !!问题终于解决了,谢 ~ 谢~啊~~
olover 2005-08-20
  • 打赏
  • 举报
回复
小弟inputtime正是用的XXXX年XX月XX日 XX:XX:XX这种类型
但小弟用了大哥的
exec="select * from [user] where datediff(year,inputtime,getdate())>1 and ff='"&dd&"' and lock=0 order by userid desc"

语句后 提示说 表达式中 'getdate' 函数未定义。
请大哥指点
dingjin_dj 2005-08-20
  • 打赏
  • 举报
回复
study
caobin518 2005-08-20
  • 打赏
  • 举报
回复
ac:

select * from t where datediff('y',字段名,now())>1

sql:

select * from t where datediff('y',字段名,getdate())>1
ddff2004 2005-08-20
  • 打赏
  • 举报
回复
我觉得你的判断条件是不严密的,如果注册时间是2004-01-01而现在的时间是2005-08-20,按你的条件好像不能把2004-01-01注册的记录提取出来吧???因为datediff(year,'2004-01-01','2005-08-20')的值是1,但是它的确已经注册超过1年了。
liujian098 2005-08-20
  • 打赏
  • 举报
回复
我觉得在用户付款确认的时候就修改到期时间(也就是使用的一个截止日期),每次登陆的时候做比较就可以了吧!
lindy730 2005-08-20
  • 打赏
  • 举报
回复
在Access中DateDiff的第一个参数用引号,并且只用一个字母来表示比较的部分,而在SqLServer中不需要引号,并且用全称和或者简称来表示,并且简称也是两个字母的。
lindy730 2005-08-20
  • 打赏
  • 举报
回复
getdate函数是用在SQL中的,AC是用DATE()函数
jingxiaoping 2005-08-20
  • 打赏
  • 举报
回复
郁闷中。
jingxiaoping 2005-08-18
  • 打赏
  • 举报
回复
改一下就OK了。

exec="select * from [user] where datediff(year,inputtime,getdate())>1 and ff='"&dd&"' and lock=0 order by userid desc"

建议如果跟当前时间比较的话,还是用SQL自带的getdate()比较好用些。当然你的注册时间肯定是XXXX年XX月XX日 XX:XX:XX这种类型的吧。
olover 2005-08-17
  • 打赏
  • 举报
回复
首先,谢谢各位前辈的回复
本人菜鸟一只,刚刚入行
请问各位大哥:
用以上办法小弟试过
出错提示总是:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

/xxw/xxw/userdel/dq_customer.asp,行42 〈!--正是sql语句--〉
救命啊!
班门弄斧 2005-08-17
  • 打赏
  • 举报
回复
mark!
Tal 2005-08-16
  • 打赏
  • 举报
回复
'#" & date & "#'
baibai326 2005-08-16
  • 打赏
  • 举报
回复
怎么用到了关键字做表名啊?看得好别扭

在Sql里面取得当前时间的函数是getdate
exec="select * from [user] where datediff(year,inputtime,getdate)>1 and ff='"&dd&"' and lock=0 order by userid desc"

试试这样。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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