data table
--------
id ydate
--------
1 2012-06-05 16:12:31.000
2 2012-06-05 17:12:31.000
3 2012-06-05 18:12:31.000
4 2012-06-05 19:12:31.000
5 2012-06-05 20:12:31.000
6 2012-06-05 21:12:31.000
7 2012-06-05 22:12:31.000
-------------------------------
处理方法
------------------------------

程序代码:
'lid 开始id
'rid 结束id
'ldate 开始时间
'rdate 结束时间
Call SetDate(1,7,"2012-6-5 16:12:30","2012-6-5 22:12:32")
'打开数据库自己加
Function SetDate(lid,rid,ldate,rdate)
Dim Sql,Rs,Total,ydate
Set Rs = Server.Createobject("adodb.recordset")
Total = 0
ydate = Now()'可指定固定时间
Sql = "select id from Table_1 where id >= "&lid&" and id <= "&rid&" and DateDiff(s,ydate,'"&ldate&"') < 0 And DateDiff(s,ydate,'"&rdate&"') > 0"
Rs.Open Sql,Conn,1,1
If Rs.Bof Or Rs.Eof Then
SetDate = "False"
Else
Do Until Rs.EOF
'当每超过三条数据的时候判断
If (Total Mod 3)=0 Then
'随机根据当前时间生成时间,加(1-1000)秒随机数,可以换分钟,小时
ydate = DATEADD ("s" , Int((1000 * Rnd) + 1),ydate)
'每3条+1天
If Total <> 0 Then
ydate = DATEADD ("d" , 1, ydate)
Total = 0
End If
Else
'随机根据当前时间生成时间
ydate = DATEADD ("s" ,Int((1000 * Rnd) + 1), ydate)
End If
Response.write "<br><br>ID:"&Rs("id")&" 更新时间:"&ydate&"<br>"
Sql = "Update Table_1 Set ydate='"&ydate&"' Where id="&Rs("id")
Response.write Sql
Conn.Execute(Sql)
Total=Total+1
Rs.MoveNext
Loop
End If
Rs.Close
Set Rs = Nothing
SetDate = "True"
End Function
'关闭数据库自己加
----------------------------------------
结果
-----
ID:1 更新时间:2012/6/6 11:11:40
ID:2 更新时间:2012/6/6 11:20:34
ID:3 更新时间:2012/6/6 11:30:14
ID:4 更新时间:2012/6/7 11:35:04
ID:5 更新时间:2012/6/7 11:40:06
ID:6 更新时间:2012/6/7 11:53:01
ID:7 更新时间:2012/6/8 11:53:16
[
本帖最后由 coretear 于 2012-6-6 11:38 编辑 ]