update.asp

来自「ASP论坛2000」· ASP 代码 · 共 69 行

ASP
69
字号
<%@ LANGUAGE="VBSCRIPT" %>
<%option explicit%>
<!--#include file="conn.inc"-->
<%
  response.buffer=false
  '----------------------------------------------
  ' this file update asp wwwboard 3 database
  ' to asp wwwboard 4 database
  '----------------------------------------------
  on error resume next  
  dim sql

  reponse.write "change database structure...<br>"
  sql="alter table announce add column layer long"
  conn.execute sql
  sql="alter table announce add column orders long"
  conn.execute sql
  response.write "create new index...<br>"
  sql="create index announce_i on announce(rootid,parentid)"
  conn.execute sql
  response.write "update rootid field...<br>"
  sql="UPDATE announce SET rootid = announceid WHERE rootid=0;"
  conn.execute sql
  
  response.write "update layer and orders...<br>"
  dim layer
  layer=1
  dim orders
  orders=0
  call updateNewCol(0,layer,orders)
  response.write "Update OK"

  sub updateNewCol(parentID,byval layer,byref orders)
      dim newParentID,newOrder,rs
      dim cmdTemp
      dim dataconn
      Set DataConn = Server.CreateObject("ADODB.Connection")
      dataconn.open connstr
      Set cmdTemp = Server.CreateObject("ADODB.Command")
      set rs=server.createobject("adodb.recordset")    
      cmdTemp.CommandText = "select boardid,rootid,parentid,announceID,orders,layer FROM ANNOUNCE WHERE parentid="&cstr(parentid)
      cmdTemp.CommandType = 1
      Set cmdTemp.ActiveConnection = dataconn
      rs.Open cmdTemp, , 1, 3
      if rs.bof and rs.eof then
      else
         dim iStr
         istr=""  
         rs.movefirst            
         do while not rs.eof         
            response.write "."
            rs("layer")=layer
            if rs("ParentID")=0 then 
               Orders=0
               rs("Orders")=0
            else 
               Orders=Orders+1
               rs("Orders")=Orders
            end if
            newParentID=rs("announceid")
            rs.update
            call updateNewCol(newParentID,layer+1,orders)
            rs.movenext
         loop
      end if
      rs.close
      dataconn.close
  end sub
%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?