<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
cz=Request.QueryString("cz")
If cz="xfcache" Then 
	Application.Contents.RemoveAll()
	response.write "<meta http-equiv=""refresh"" content=""1;URL=shengji.asp""><CENTER>缓存清理成功，系统正在返回！</CENTER>"
	response.End
End If 
%>
<style type="text/css">
<!--
body td{font-size: 14px;line-height:160%}
a:link {color: #0066FF; text-decoration: none}
a:visited {color: #0066FF; text-decoration: none}
a:hover {color: #FF0000;text-decoration: underline;}
-->
</style>
<CENTER><H3>站长加油站2.0.0升级到2.0.1</H3></CENTER>

<TABLE width=780 align=center border=1>
<TR>
	<TD><A HREF="?cz=update">升级数据库到2.0.1标准版</A></TD>
	<TD>
	1，升级前请用记事本或者其他软件打开shengji.asp文件，修改数据库路径，相应参数和管理员<BR>
	2，备份数据库，哪怕是在本地操作，也要备份！养成好习惯有益无害！<BR>
	3，上传本文件到您的根目录，如果在www.xxx.com/web下，就放web下。<BR>
	4，首先运行升级数据库链接（左侧），然后会提示是否升级成功。<BR>
	5，检查一下是否升级成功 <A HREF="?cz=checksj">点这里检查>>>>></A>。<BR>
	最后一步，修复缓存，搞定！数据库已经升级成功了。请将您升级好的数据库，放入到新版本中，用管理员登陆，到后台设定参数即可使用。<BR>
	</TD>
</TR>
<TR>
	<TD><A HREF="?cz=xfcache">修复缓存</A></TD>
	<TD>修复缓存在很常用，除了这个文件外，您的网址/so.asp?action=c也是哦</TD>
</TR>

<TR>
	<TD>说明：</TD>
	<TD>该文件，用完请删除服务器上，本地保留，或者改后缀名称保存以备不时之需。</TD>
</TR>

</TABLE>
<%
dreamsundb ="database/#ddptieba201.mdb" '数据库路径，相对于根目录
Dim conn   
Dim connstr
	connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&dreamsundb&"")
Set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
bbstable="bbs"                        '主题帖子数据表
rebbstable="rebbs"                    '回复帖子数据表
boardtable="bbsboard"                 '分类数据表
usertable="bbsuser"                   '用户数据表
linktable = "friendlink"              '友情链接数据表
configtable = "config"                '站点参数链接数据表


If cz="update" Then
	Call AddColumn(bbsTable,"isAttach","Integer default 0")
	Set rs= Server.CreateObject("ADODB.Recordset")
		rs.Open "Select * From "&bbstable&" order by id desc", conn,1,3 
		if rs.eof And rs.bof Then
		Else
			while not rs.eof
				content=LCase(rs("content"))
				If InStr(content,"[img")>0 And  InStr(content,"]upload/")>0 Then 
					isAttach=1
				ElseIf InStr(content,"[url=upload")>0 Then 
					isAttach=2
				Else
					isAttach=0
				End If 
				rs("isAttach")=isAttach
				rs.update
			Rs.MoveNext
			Wend
		End If 
		rs.close
	set rs=Nothing
Call AddColumn(boardtable,"board_qx","Integer default 0")'权限升级字段
conn.execute("update "&boardtable&" set board_qx=0")'填充权限升级字段
Response.Write"<CENTER><BR><BR>升级成功！</CENTER>"  

ElseIf cz="checksj" Then 
	Status_a=CheckFields("isAttach",bbsTable)
	Status_b=CheckFields("board_qx",boardtable)

	If Status_a=True And Status_b=True Then     
		Response.Write"<CENTER><BR><BR><font color=red>升级成功！</font></CENTER>"  
	else   
		Response.Write"<CENTER>升级失败，请重新测试！！</CENTER>"  
	End if 
End If 
%>
<BR>
<CENTER><A HREF="shengji.asp">返回升级主页面</A> <A HREF="Article.asp">返回首页</A></CENTER>
<%
'*******************************************
'这里是数据库操作函数，慎用！！！
'调用方式！
'	Call AddColumn("PPst_News","SmallClassID","Integer default 0")
'	Call AddColumn("PPst_News","Shenhe","Integer default 0")
'	Call AddColumn("PPst_News","SmallPicURL","Text(255)")
'	Call Addtable("PPst_SmallClass","SmallClassID")
'	Call AddColumn("PPst_SmallClass","SmallClassName","Text(50)")
'	Call AddColumn("PPst_SmallClass","SmallClassURL","Text(255)")
'	Call AddColumn("PPst_SmallClass","ForBigClassID","Integer default 0")
'添加字段//删除字段//增加表//
'Conn.Execute("ALTER TABLE reply drop COLUMN jd_user")--这个是删除函数，没有作
'*******************************************
'添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
	On Error Resume Next
	Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"")
	If Err Then
		Response.Write "新建 "&TableName&" 表中字段<font color=blue>错误</font>，请手动将数据库中 <B>"&ColumnName&"</B> 字段建立，<br>属性为 <B>"&ColumnType&"</B>，原因：" & Err.Description & "<BR>"
		Err.Clear
		Response.Flush
	Else
		Response.Write "新建 "&TableName&" 表中字段 "&ColumnName&" 成功 <BR>"
		Response.Flush
	End If
	Response.Write "<hr>"
End Sub
'删除字段通用函数
Sub DelColumn(TableName,ColumnName)
	On Error Resume Next
	Conn.Execute("Alter Table "&TableName&" Drop "&ColumnName&"")
	If Err Then
		Response.Write "删除 "&TableName&" 表中字段<font color=blue>错误</font>，请手动将数据库中 <B>"&ColumnName&"</B> 字段删除，原因：" & Err.Description & "<BR>"
		Err.Clear
		Response.Flush
	Else
		Response.Write "删除 "&TableName&" 表中字段 "&ColumnName&" 成功 <BR>"
		Response.Flush
	End If
	Response.Write "<hr>"
End Sub
'增加表通用函数
Sub AddTable(TableName,ColumnName)

	On Error Resume Next
	Conn.Execute("Create table "&TableName&" ("&ColumnName&" integer identity(1,1) primary key)")
	If Err Then
		Response.Write "建立数据库表 "&TableName&" <font color=blue>错误</font>，请手动将数据库中 表<B>"&ColumnName&"</B> 建立，主键字段为："&ColumnName&"原因：" & Err.Description & "<BR>"
		Err.Clear
		Response.Flush
	Else
		Response.Write "建立数据库表 "&TableName&" 表、自动编号字段 "&ColumnName&" 成功 <BR>"
		Response.Flush
	End If
	Response.Write "<hr>"
End Sub


'=====================================================   
  '函数名：CheckFields   
  '参数FieldsName，待检字段名称；TableName，目标表名称；   
  '返回值类型：Boolean   
  '=====================================================   
Function CheckFields(FieldsName,TableName)   
	Flag=False   
	sql="select * from "&TableName   
	Set RS=Conn.Execute(sql)   
		For i=0 To RS.Fields.Count -   1   
			If RS.Fields(i).Name=FieldsName   then     
				Flag=True   
				Exit For   
			else   
				Flag=False   
			End If
		Next   
	CheckFields=Flag   
End Function   


%>
