注册 登录
编程论坛 ASP技术论坛

求段代码 asp 批量修改时间??

sunfeiyao 发布于 2012-06-05 21:52, 4471 次点击
求段代码 asp 批量修改时间??
数据库
表:aaa
字段1:ID
字段2(时间): 2012-6-5 19:35:43
(假设有1-20个记录)
指定修改ID段为5-10   也就是指修改5-10的记录
指定 修改字段2(时间)开始时间段  如 2012-6-5 10:35:43——2012-6-5 19:35:43,
在2012-6-5 10:35:43——2012-6-5 19:35:43中随机时间更新字段2(时间)3个   
完成后自动  换为
2012-6-6 10:35:43——2012-6-6 19:35:43 中随机时间更新字段2(时间)3个
以此类推。。。

也就是 批量更新时间 每天更新 3个时间
62 回复
#2
coretear2012-06-05 23:12
回答 过你上个帖子 去看看吧 方法 类似
#3
sunfeiyao2012-06-06 08:38
那个找到了方法,但这个还是搞不定,求高手给段代码吧,谢谢
#4
coretear2012-06-06 08:46
是批量修改 5-10 还是单条修改
#5
coretear2012-06-06 08:46
要去上班了 回来 吧你的问题 理清一下 我回答
#6
coretear2012-06-06 08:51
还有 你那个 3个 是啥意思 5-10 随机3个?
#7
sunfeiyao2012-06-06 09:01
就是
1.只批量修改 5—10的记录  (这个是假如的,也可能指定批量修改50-100的记录)

2.指定随机时间段 如:2012-6-5 10:35:43——2012-6-5 19:35:43

在这个时间段内随机产生3个时间 并修改3个记录,修改到第4个记录的时候 把时间段增加1天  在随机产生3个时间 并修改3个记录   

就这样以此类推


[ 本帖最后由 sunfeiyao 于 2012-6-6 09:03 编辑 ]
#8
coretear2012-06-06 09:20
如果你用asp就太简单了 如果你用sql要写 存储过程
#9
coretear2012-06-06 09:22
在这个时间段内随机产生3个时间 随机的三个时间 是比 原时间 大还是小 还是随便
#10
sunfeiyao2012-06-06 09:28
应该是 第一个记录比第二个记录小
#11
coretear2012-06-06 09:30
这样吧 你列一个数据表 原数据 跟 新数据 我用asp给你 做个参考
#12
sunfeiyao2012-06-06 09:35
新数据 是随机生成的呀???
#13
sunfeiyao2012-06-06 09:38
只有本站会员才能查看附件,请 登录
#14
sunfeiyao2012-06-06 10:37
在线,等待。。。求解
#15
coretear2012-06-06 11:03
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 编辑 ]
#16
coretear2012-06-06 11:07
无语,这些东西,逻辑差不多自己搞搞就好
#17
sunfeiyao2012-06-06 12:09
只有本站会员才能查看附件,请 登录

错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/001.asp, 第 20 行
#18
coretear2012-06-06 12:58
第一个问题
以下语句应该在 打开数据库以后调用
Call SetDate(1,7,"2012-6-5 16:12:30","2012-6-5 22:12:32")

第二个问题

你用的是access我用sql习惯了 ,sql语句稍改以下就行,多输出个“”就行

Sql = "select id,ydate from Table_1 where id >= "&lid&" and id <= "&rid&" and DateDiff(""s"",ydate,'"&ldate&"') < 0 And DateDiff(""s"",ydate,'"&rdate&"') > 0"

第三给你个高效的access的数据库连接,你那个效率低

Dim Db,Conn
Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("01.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Db
#19
coretear2012-06-06 13:00
程序代码:

Dim Db,Conn
Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("01.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Db


'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,ydate from Table_1 where id >= "&lid&" and id <= "&rid&" and DateDiff(""s"",ydate,'"&ldate&"') < 0 And DateDiff(""s"",ydate,'"&rdate&"') > 0"
    'Response.write sql
    Rs.Open Sql,Conn,1,1
    If Rs.Bof Or Rs.Eof Then
       Response.write "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
    Response.write "True"
End Function
'关闭数据库自己加
Conn.Close
Set Conn = Nothing
#20
coretear2012-06-06 13:01
出问题 做单步调试就好,呵呵呵,下了,有问题留言

[ 本帖最后由 coretear 于 2012-6-6 13:24 编辑 ]
#21
sunfeiyao2012-06-06 15:07
刷新总是 打印 FalseTrue
#22
coretear2012-06-06 15:25
那已经执行成功了 兄弟 看数据库
#23
sunfeiyao2012-06-06 15:28
程序代码:
Dim Db,Conn
Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("01.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Db


'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()'可指定固定时间
     ydate =  这个位置怎么指定时间段
    'Sql = "select id,ydate from Table_1 where id >= "&lid&" and id <= "&rid&" and DateDiff(""s"",ydate,'"&ldate&"') < 0 And DateDiff(""s"",ydate,'"&rdate&"') > 0"
    Sql = "select id,ydate from Table_1 where id >= "&lid&" and id <= "&rid&""

    'Response.write sql
    Rs.Open Sql,Conn,1,1
    If Rs.Bof Or Rs.Eof Then
       Response.write "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
    Response.write "True"
End Function
'关闭数据库自己加
Conn.Close
Set Conn = Nothing



ydate =  这个位置怎么指定时间段
#24
coretear2012-06-06 15:34
哎,无语了,我写的很清楚,now是指定时间的 默认是更新到当前时间
#25
sunfeiyao2012-06-06 15:39
ydate =2012-6-5 16:12:30至2012-6-5 22:12:32
这个时间段怎么写
#26
coretear2012-06-06 15:46
'ldate 开始时间
'rdate 结束时间 才是指定 时间段的

ydate 是更新后的时间段  默认是当前时间 为依据 明白吗?

[ 本帖最后由 coretear 于 2012-6-6 15:49 编辑 ]
#27
sunfeiyao2012-06-06 15:55
不用指定时间更新,就是想什么时候更新都可以,


主要是指定更新后的时间段  


哎,我没说清楚不好意思
#28
coretear2012-06-06 16:05
那就不需要这么麻烦了 ydate 指定一个 你想要的起始时间就可以 ydate = '2012-6-5 16:12:30' 程序会根据 这个时间 每3条改变一次时间
#29
sunfeiyao2012-06-06 16:08
如果想更新后的时间 都在 13点——15点之间   这个怎么写

[ 本帖最后由 sunfeiyao 于 2012-6-6 16:10 编辑 ]
#30
coretear2012-06-06 16:17
ydate = '2012-6-5 12:12:30'
DATEADD ("hh" , Int((3 * Rnd) + 1),ydate)
#31
sunfeiyao2012-06-06 16:29
Microsoft VBScript 运行时错误 (0x800A0005)
无效的过程调用或参数: 'DATEADD'
#32
sunfeiyao2012-06-06 17:07
这个不行呀,这个更新后的时间还是累加的呀,不在指定的范围内
#33
coretear2012-06-06 17:21
那你原来就要说明白 是指定更新后的数据啊,晕死
发数据的时候发个 原数据 跟 生成的结果数据,大家才能把你分析

解决方法
把所有ydate 搞成随机数就ok了就这么简单 。但是不要超过 时间的范围

自己查查函数的使用方法。
#34
sunfeiyao2012-06-06 17:27
查函数了,就是不知道怎么限制时间范围呀??帮我改一下吧,谢谢了
#35
coretear2012-06-06 18:32
程序代码:

Dim Db,Conn
Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("01.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Db

lid = 1
rid = 7
Lyear = "2012-6-5" '日期如果也加段的话自己搞吧,照葫芦画瓢
LHour = "5-16"  '小时 时间段 按照时间规则 24以内
Lminute = "10-50" '分钟 时间段 60以内
'
lid 开始id
'
rid 结束id

Call SetDate(lid,rid,Lyear,LHour,Lminute)
'打开数据库自己加

Function SetDate(lid,rid,Lyear,LHour,Lminute)
    Dim Sql,Rs,Total,ydate,LHour_l,LHour_r
    Dim LHT_Hour,LHT_minute,Lht_Date
    Randomize
    LHour = Split(LHour, "-", -1, 1)
    LHT_Hour = LHour
    LHour_l = Int(LHour(1))-Int(LHour(0))+1
    LHour_r = Int(LHour(0))
    LHour = Int((LHour_l * Rnd)+LHour_r)
   
    Lminute = Split(Lminute, "-", -1, 1)
    LHT_minute = Lminute
    Lminute_l = Int(Lminute(1))-Int(Lminute(0))+1
    Lminute_r = Int(Lminute(0))
    Lminute = Int((Lminute_l * Rnd)+Lminute_r)
    Lsecond = Int((60 * Rnd) + 1)
    Lht_Date = FormatDateTime(Lyear&" "&LHour&":"&Lminute&":"&Lsecond)
    Response.write "时间段:"&FormatDateTime(Lyear&" "&LHT_Hour(0)&":"&LHT_minute(0)&":00")&""&FormatDateTime(Lyear&" "&LHT_Hour(1)&":"&LHT_minute(1)&":00")&"<br>"
   
    Set Rs = Server.Createobject("adodb.recordset")
    Total = 0
    ydate = Lht_Date
    Sql = "select id,ydate from Table_1 where id >= "&lid&" and id <= "&rid
    'Response.write sql
    Rs.Open Sql,Conn,1,1
    If Rs.Bof Or Rs.Eof Then
       'Response.write "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>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
    'Response.write "True"
End Function
'关闭数据库自己加
Conn.Close
Set Conn = Nothing
#36
sunfeiyao2012-06-06 18:47
限制LHour = "7-9"  

但是还回出11点的

[ 本帖最后由 sunfeiyao 于 2012-6-6 18:50 编辑 ]
#37
coretear2012-06-06 18:55
我测试没有啊 ???
#38
sunfeiyao2012-06-06 18:56
我测试了
lid = 1
rid = 20

多刷几次,有的
#39
coretear2012-06-06 18:57
送佛了,给你个强的 随机比以前的都强

程序代码:

Dim Db,Conn
Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("01.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Db

lid = 1
rid = 7
Lyear = "2012-6-5" '日期如果也加段的话自己搞吧,照葫芦画瓢
LHour = "7-9"  '小时 时间段 按照时间规则 24以内
Lminute = "10-50" '分钟 时间段 60以内
'
lid 开始id
'
rid 结束id

Call SetDate(lid,rid,Lyear,LHour,Lminute)
'打开数据库自己加

Function GetDate(Lyeara,LHoura,Lminutea)
    Dim L_Hour,LHT_Hour,LHour_l,LHour_r,LHourb
    Dim L_minute,LHT_minute,Lminute_l,Lminute_r,Lminuteb,Lsecondb
    Randomize
    'Response.write LHour_r
    L_Hour = Split(LHoura, "-", -1, 1)
    LHT_Hour = L_Hour
    LHour_l = Int(L_Hour(1))-Int(L_Hour(0))+1
    LHour_r = Int(L_Hour(0))
    LHourb = Int((LHour_l * Rnd)+LHour_r)
   
    L_minute = Split(Lminutea, "-", -1, 1)
    LHT_minute = L_minute
    Lminute_l = Int(L_minute(1))-Int(L_minute(0))+1
    Lminute_r = Int(L_minute(0))
    Lminuteb = Int((Lminute_l * Rnd)+Lminute_r)
    Lsecondb = Int((59 * Rnd) + 1)
    'Response.write "<font color=red>"&Lyeara&" "&LHourb&":"&Lminuteb&":"&Lsecondb&"</font>"
    GetDate = FormatDateTime(Lyeara&" "&LHourb&":"&Lminuteb&":"&Lsecondb)
    Response.write "<br><font color=red>时间段:"&FormatDateTime(Lyear&" "&LHT_Hour(0)&":"&LHT_minute(0)&":00")&""&FormatDateTime(Lyear&" "&LHT_Hour(1)&":"&LHT_minute(1)&":00")&"</font>"
End Function

Function SetDate(lid,rid,Lyear,LHour,Lminute)
    Dim Sql,Rs,Total,ydate
    Randomize
   
    Set Rs = Server.Createobject("adodb.recordset")
    Total = 0
    Sql = "select id,ydate from Table_1 where id >= "&lid&" and id <= "&rid
    'Response.write sql
    Rs.Open Sql,Conn,1,1
    If Rs.Bof Or Rs.Eof Then
       'Response.write "False"
    Else
        Do Until Rs.EOF
            ydate = GetDate(Lyear,LHour,Lminute)
            '当每超过三条数据的时候判断
            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>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
    'Response.write "True"
End Function
'关闭数据库自己加
Conn.Close
Set Conn = Nothing


现在起不回答问题了,自己吧我给你写的代码研究懂了就好
#40
coretear2012-06-06 19:00
对了 超过 时间段是因为 程序里面 还加了个随机数 Int((1000 * Rnd) + 1 这个是为了 秒数输出都不一样的 ,作弊吗!就要差不多!!
#41
coretear2012-06-06 19:02
根据id范围,根据时间段随机生成时间,每3条时间加1天
#42
sunfeiyao2012-06-06 19:09
这个代码 都变成' 2012-6-5 和2012-6-6日了
#43
coretear2012-06-06 19:09
日期你自己换啊 每3条+1天不是???
#44
sunfeiyao2012-06-06 19:14
不是能 每3条 +1天吗??这个批量执行后都 变成 2012-6-5 和2012-6-6日了
#45
coretear2012-06-06 19:22
哦 多加条语句不就ok了
改下吗的地方
程序代码:

'每3条+1天
If Total <> 0 Then
    ydate = DATEADD ("d" , 1, ydate)
    Lyear = FormatDateTime(ydate,2)
    Total = 0
End If
#46
coretear2012-06-06 19:23
在最后贴个全的
出去散步去了
程序代码:

Dim Db,Conn
Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("01.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Db

lid = 1
rid = 7
Lyear = "2012-6-5" '日期如果也加段的话自己搞吧,照葫芦画瓢
LHour = "7-9"  '小时 时间段 按照时间规则 24以内
Lminute = "10-50" '分钟 时间段 60以内
'
lid 开始id
'
rid 结束id

Call SetDate(lid,rid,Lyear,LHour,Lminute)
'打开数据库自己加

Function GetDate(Lyeara,LHoura,Lminutea)
    Dim L_Hour,LHT_Hour,LHour_l,LHour_r,LHourb
    Dim L_minute,LHT_minute,Lminute_l,Lminute_r,Lminuteb,Lsecondb
    Randomize
    'Response.write LHour_r
    L_Hour = Split(LHoura, "-", -1, 1)
    LHT_Hour = L_Hour
    LHour_l = Int(L_Hour(1))-Int(L_Hour(0))+1
    LHour_r = Int(L_Hour(0))
    LHourb = Int((LHour_l * Rnd)+LHour_r)
   
    L_minute = Split(Lminutea, "-", -1, 1)
    LHT_minute = L_minute
    Lminute_l = Int(L_minute(1))-Int(L_minute(0))+1
    Lminute_r = Int(L_minute(0))
    Lminuteb = Int((Lminute_l * Rnd)+Lminute_r)
    Lsecondb = Int((59 * Rnd) + 1)
    'Response.write "<font color=red>"&Lyeara&" "&LHourb&":"&Lminuteb&":"&Lsecondb&"</font>"
    GetDate = FormatDateTime(Lyeara&" "&LHourb&":"&Lminuteb&":"&Lsecondb)
    Response.write "<br><font color=red>时间段:"&FormatDateTime(Lyear&" "&LHT_Hour(0)&":"&LHT_minute(0)&":00")&""&FormatDateTime(Lyear&" "&LHT_Hour(1)&":"&LHT_minute(1)&":00")&"</font>"
End Function

Function SetDate(lid,rid,Lyear,LHour,Lminute)
    Dim Sql,Rs,Total,ydate
    Randomize
   
    Set Rs = Server.Createobject("adodb.recordset")
    Total = 0
    Sql = "select id,ydate from Table_1 where id >= "&lid&" and id <= "&rid
    'Response.write sql
    Rs.Open Sql,Conn,1,1
    If Rs.Bof Or Rs.Eof Then
       'Response.write "False"
    Else
        Do Until Rs.EOF
            ydate = GetDate(Lyear,LHour,Lminute)
            '当每超过三条数据的时候判断
            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)
                    Lyear = FormatDateTime(ydate,2)
                    Total = 0
                End If
               
            Else
                '随机根据当前时间生成时间
                ydate = DATEADD ("s" ,Int((1000 * Rnd) + 1), ydate)
            End If
        Response.write "<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
    'Response.write "True"
End Function
'关闭数据库自己加
Conn.Close
Set Conn = Nothing
#47
sunfeiyao2012-06-06 19:35
好的,谢谢了,我也出去散步了
#48
sunfeiyao2012-06-06 22:09
又遇到新问题   怎样实现随机的时间 从小到大 这个顺序更新  到第二天在 从小到大 这个顺序更新

原:
ID:5 更新时间:2012-6-6 9:03:53
ID:6 更新时间:2012-6-6 7:34:45
ID:7 更新时间:2012-6-6 8:30:29
ID:8 更新时间:2012-6-7 7:40:01
ID:9 更新时间:2012-6-7 9:46:52
ID:10 更新时间:2012-6-7 8:24:40

更新后应为

ID:5 更新时间:2012-6-6 7:34:45
ID:6 更新时间:2012-6-6 8:30:29
ID:7 更新时间:2012-6-6 9:03:53
ID:8 更新时间:2012-6-7 7:40:01
ID:9 更新时间:2012-6-7 8:24:40
ID:10 更新时间:2012-6-7 9:46:52
#49
coretear2012-06-06 22:42
转弯啊,用时间排序 然后 id用 i=i+1替代啊
#50
sunfeiyao2012-06-06 22:52
怎么写呀??
#51
coretear2012-06-06 22:58
兄弟 我对你很无语 刚看到 csdn你也发帖了 我是潜水王 对你无语啊 ,多简单的问题啊,

你select 列数据的时候 用 时间排序就好
12