首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

遍历数据库然后判断更新的有关问题

2012-09-29 
遍历数据库然后判断更新的问题在写个程序的时候遇到问题,向各位求助。想实现的功能如下:遍历数据库的记录,

遍历数据库然后判断更新的问题
在写个程序的时候遇到问题,向各位求助。想实现的功能如下:遍历数据库的记录,读取当前记录的4个时间值d1,d2,d3,d4,然后与当前时间today做对比,如果符合条件,则更新该条数据的某一项值。想求教各位如何实现。或者告诉我,我写的哪个地方出现了问题。谢谢。

JScript code
dim TodayToday=date()set rs=Server.CreateObject("ADODB.RecordSet")sql="select * form Item"rs.Open sql,conn,1,3if rs.RecordCount=0 then    response.write "当前无数据!"else    for i = 0 to rs.RecordCount-1        if rs.EOF Then Exit For        date1=dateiff("d",Today,rs("ATime"))//判断与当前日期的差的天数        date2=dateiff("d",Today,rs("BTime"))        date3=dateiff("d",Today,rs("CTime"))        date4=dateiff("d",Today,rs("DTime"))        if date1>5 then           set rs1=Server.CreateObject("ADODB.RecordSet")           Renew="UPDATE Item SET TimeLimit = '1'"    //如果差的天数符合条件,就更新当前记录里面的TimeLimit           rs1.Open Renew,Renew,1,3           set rs1 = nothing    end if     rs.MoveNext    nextEnd if


[解决办法]
执行代码看看有什么问题
[解决办法]
写成存储过程 方便些
declare @today datetime
if(SELECT datediff( day, @today, ATime )……)>5 UPDATE Item SET TimeLimit = '1'

[解决办法]
按你上面的代码,只是让D1在〉5的时候执行更新
你的本意是希望从D1~D4都大于5的时候才执行,还是想d1~d4只要任意一个大于5都执行呢?
如果是d1~d4都大于5的时候执行就:
if date1>5 and date2>5 and date3>5 and date4>5 then
如果是d1~d4任意一个大于5就执行的话就:
if date1>5 or date2>5 or date3>5 or date4>5 then

热点排行