纯二氧化碳焊在一般:一个简单的ASP编程问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 04:23:23
问题是这个样子的!
在一个数据库表中,有这三个个字段:AdState,AdState1,AddDate.而其中AddDate记录的是每条记录添加时的时间,我想达到这样的效果,就是用当前时间和添加记录的时间先进行比较,如果这两个时间差超过7天,那么就把表中的AdState,AdState1,这两个字段的相应数据改为数值4.我写的代码是这样的.
<!--#Include File="QQCF_Conn.Asp"-->
<%
set rs = server.createobject("adodb.recordset")
sql = "select * from WWW_QQCF_COM_CfWztg_AD where adstate1='2'"
rs.open sql,conn,3,2
if not (rs.eof and rs.bof) then
do while not rs.eof
AddDate=rs("AddDate")
AdState=rs("AdState")
AdState1=rs("AdState1")
dim i
i=DateDiff("d",Date(),"AddDate")
%>
<%
if i>7 then
Rs("AdState")=4
Rs("AdState1")=4
%>
<%end if%>
<%
rs.movenext
loop
end if
set rs=nothing
%>
可是不行哦.谢谢帮看下,该怎么写那?
试验了一下 都不可以啊,还有一个前提是在adstate=2这些数据里进行比较和修改哦!

<!--#Include File="QQCF_Conn.Asp"-->
<%
set rs = server.createobject("adodb.recordset")
sql = "select * from WWW_QQCF_COM_CfWztg_AD where adstate1='2'"
rs.open sql,conn,3,2
if not (rs.eof and rs.bof) then
do while not rs.eof
AddDate=rs("AddDate")
AdState=rs("AdState")
AdState1=rs("AdState1")
dim i
i=DateDiff("d",Date(),"AddDate")
%>
<%
if i>7 then
Rs("AdState")=4
Rs("AdState1")=4
%>
<%end if%>
<%
rs.movenext
loop
end if
set rs=nothing
%>

<!--#Include File="QQCF_Conn.Asp"-->
<%
Sql = "Update WWW_QQCF_COM_CfWztg_AD set AdState=4,AdState1=4 where datediff(day,AddDate,getdate())>7"
Conn.Execute(Sql)
Conn.Close
Set Conn = Nothing
%>

如果是SQL数据库,就这代码,如果是access,把getdate()改成now()

晕,用得着这么麻烦吗???
update tableName set AdState=4,adState1=4 where AddDate>now()+7
adState和adstate1是什么类型的???数值还是字符,自己定
sql server:update tableName set adState=4,adState1=4 where addDate>getDate()+7
前提,addDate要是 日期/时间 类型的!