<!--#include file=../conn.asp-->
<!-- #include file="inc/const.asp" -->
<%
'If Not Dvbbs.Master Or Session("flag")="" Then
' Response.Redirect "../admin_login.asp"
'End If
%>
<%dim Counter,UserID,UserName,UserID2,UserName2,Rs1,Rs2,Rs3
For Counter=4932 to 4937
Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
DO while (Rs1.bof and Rs1.eof)
Counter=Counter+1
Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
Loop
Response.Write Rs1(0) & " OK<br>"
Set Rs2=Dvbbs.Execute("Select UserID,UserName From Dv_User Where UserID<>'104' and UserID<>'852' and UserID<>'11' order by NEWID()")
UserID=Rs2(0)
UserName=Rs2(1) Set Rs3=Dvbbs.Execute("Select Top 1 UserID,UserName From Dv_User Where UserID='104' or UserID='852' or UserID='11' order by NEWID()")
UserID2=Rs3(0)
UserName2=Rs3(1)
Dvbbs.Execute("Update Dv_Topic Set PostUsername='"&UserName&"',PostUserid="&UserID&" Where TopicID="&Counter&"")
Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName&"',PostUserid="&UserID&" Where ParentID=0 and RootID="&Counter&"")
Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName2&"',PostUserid="&UserID2&" Where ParentID<>0 and RootID="&Counter&"")
Counter=Counter+1
Next
%>

解决方案 »

  1.   

    <%dim Counter,UserID,UserName,UserID2,UserName2,Rs1,Rs2,Rs3
    '只处理ID段内的主题
    For Counter=4932 to 4937

    Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
    '如果此TopicID不丰硕存在则Next
    DO while (Rs1.bof and Rs1.eof)
    Counter=Counter+1
    Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
    Loop
    Response.Write Rs1(0) & " OK<br>"
    '把楼主也就是提问者随机改成不包含以下几位会员
    Set Rs2=Dvbbs.Execute("Select UserID,UserName From Dv_User Where UserID<>'104' and UserID<>'852' and UserID<>'11' order by NEWID()")
    UserID=Rs2(0)
    UserName=Rs2(1)
    '把回复者也就是提问者随机改成以下几位会员
    Set Rs3=Dvbbs.Execute("Select Top 1 UserID,UserName From Dv_User Where UserID='104' or UserID='852' or UserID='11' order by NEWID()")
    UserID2=Rs3(0)
    UserName2=Rs3(1) '修改楼主用户名和ID,Dv_Topic表和Dv_bbs1表
    Dvbbs.Execute("Update Dv_Topic Set PostUsername='"&UserName&"',PostUserid="&UserID&" Where TopicID="&Counter&"")
    Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName&"',PostUserid="&UserID&" Where ParentID=0 and RootID="&Counter&"")
    '修改回复者
    Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName2&"',PostUserid="&UserID2&" Where ParentID<>0 and RootID="&Counter&"")

    Counter=Counter+1
    Next
    %>
      

  2.   

    <%dim Counter,UserID,UserName,UserID2,UserName2,Rs1,Rs2,Rs3
    '只处理TopicID段内的主题
    For Counter=4932 to 4937

    Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
    '如果此TopicID不存在则Next
    DO while (Rs1.bof and Rs1.eof)
    Counter=Counter+1
    Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
    Loop
    '把楼主也就是提问者随机改成不包含以下几位会员
    Set Rs2=Dvbbs.Execute("Select UserID,UserName From Dv_User Where UserID<>'104' and UserID<>'852' and UserID<>'11' order by NEWID()")
    UserID=Rs2(0)
    UserName=Rs2(1)
    '把回复者也就是提问者随机改成以下几位会员
    Set Rs3=Dvbbs.Execute("Select Top 1 UserID,UserName From Dv_User Where UserID='104' or UserID='852' or UserID='11' order by NEWID()")
    UserID2=Rs3(0)
    UserName2=Rs3(1) '修改楼主用户名和ID,Dv_Topic表和Dv_bbs1表
    Dvbbs.Execute("Update Dv_Topic Set PostUsername='"&UserName&"',PostUserid="&UserID&" Where TopicID="&Counter&"")
    Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName&"',PostUserid="&UserID&" Where ParentID=0 and RootID="&Counter&"")
    '修改回复者
    Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName2&"',PostUserid="&UserID2&" Where ParentID<>0 and RootID="&Counter&"")

    Response.Write Rs1(0) & " OK<br>"'打印处理结果
    Counter=Counter+1
    Next
    %>
      

  3.   

    '如果此TopicID不存在则Next
    DO while (Rs1.bof and Rs1.eof)
    Counter=Counter+1
    Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
    Loop
    这段代码没必要加上去吧,,直接判断到尾就执行就行了
    <%dim Counter,UserID,UserName,UserID2,UserName2,Rs1,Rs2,Rs3
    '只处理TopicID段内的主题
    For Counter=4932 to 4937

    Set Rs1=Dvbbs.Execute("Select TopicID From Dv_Topic Where TopicID="&Counter&"")
    '如果此TopicID不存在则Next
    if not Rs1.eof then
    '把楼主也就是提问者随机改成不包含以下几位会员
    Set Rs2=Dvbbs.Execute("Select UserID,UserName From Dv_User Where UserID<>'104' and UserID<>'852' and UserID<>'11' order by NEWID()")
    UserID=Rs2(0)
    UserName=Rs2(1)
    '把回复者也就是提问者随机改成以下几位会员
    Set Rs3=Dvbbs.Execute("Select Top 1 UserID,UserName From Dv_User Where UserID='104' or UserID='852' or UserID='11' order by NEWID()")
    UserID2=Rs3(0)
    UserName2=Rs3(1) '修改楼主用户名和ID,Dv_Topic表和Dv_bbs1表
    Dvbbs.Execute("Update Dv_Topic Set PostUsername='"&UserName&"',PostUserid="&UserID&" Where TopicID="&Counter&"")
    Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName&"',PostUserid="&UserID&" Where ParentID=0 and RootID="&Counter&"")
    '修改回复者
    Dvbbs.Execute("Update Dv_bbs1 Set Username='"&UserName2&"',PostUserid="&UserID2&" Where ParentID<>0 and RootID="&Counter&"")
    end if
    Response.Write Rs1(0) & " OK<br>"'打印处理结果 Counter=Counter+1
    Next
    %>
      

  4.   

    那如果没有这个TopicID的主题呢?
      

  5.   

    还有一个问题就是我选的不是4932 to 4937吗?
    4933,4937就不会执行,但有这个ID
      

  6.   

    4932 OK
    4934 OK
    4936 OK
    这是结果32 35 都没有
      

  7.   

    你写了两次Counter=Counter+1按我贴出来的试试看吧