www.gusucode.com > 25175 学生同学录管理系统 2007 build 1231D源码程序 > admin/common/admin_data_inc.asp

    <%
'****************************************************
'名称:nowmenu
'功能:管理快捷菜单
'****************************************************
Sub nowmenu()
res "<h4><b>相关操作:</b>",1
res "<a href=""?action=SpaceSize"">系统空间占用</a> | ",1
res "<a href=""?action=CompressData"">压缩数据库</a> | ",1
res "<a href=""?action=BackupData"">备份数据库</a> | ",1
res "<a href=""?action=RestoreData"">恢复数据库</a> ",1
res "</h4>",1
res "<div style=""height:3px;width:100%;background: #fff;""></div>",1
End Sub


'====================系统空间占用=======================
Sub SpaceSize()
	'On Error Resume Next
	%>
	<h2>系统空间查看</h2>
	<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- 		<tr> 
		<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)  
</td>
		</tr> -->
		
		<tr> 
		<td class="art_info2 zq">数据库:<%showSpaceinfo("../"&data_array(UBound(data_array)-1))%>
		<br><div class="pro_dd"><span style="width:<%=size_n%>px;">.</span></div></td></tr>
		<tr> 
		<td class="art_info2 zq">备份数据库:<%showSpaceinfo("../databackup")%>
		<br><div class="pro_dd"><span style="width:<%=size_n%>px;">.</span></div></td></tr>
		<tr> 
		<td class="art_info2 zq">页面文件:<%showSpaceinfo("$$~_~$$")%>
		<br><div class="pro_dd"><span style="width:<%=size_n%>px;">.</span></div></td></tr>
		<tr> 
		<td class="art_info2 zq">上传文件:<%showSpaceinfo("../upload")%>
		<br><div class="pro_dd"><span style="width:<%=size_n%>px;">.</span></div></td></tr>
		<tr> 
		<td class="art_info2 zq">系统总共:<%showSpaceinfo("../")%>
		<br><div class="pro_dd"><span style="width:<%=size_n%>px;">.</span></div></td></tr>
	</table>
	
<%End Sub
Sub ShowSpaceInfo(drvpath)
	dim fso,d,e,f,g,h,showsize
	Dim size,sizex,size1,size2,size3,size4
	Dim drvpath1,drvpath2,drvpath3,drvpath4
	set fso=server.CreateObject("scripting.filesystemobject")
		
		drvpath1=server.mappath("../") 
		set g=fso.getfolder(drvpath1) 
		sizex=g.size

	If drvpath="$$~_~$$" Then
		drvpath1=server.mappath("../") 
		set d=fso.getfolder(drvpath1) 
		size1=d.size
		drvpath2=server.mappath("../databackup") 
		set e=fso.getfolder(drvpath2) 
		size2=e.size
		drvpath3=server.mappath("../"&data_array(UBound(data_array)-1)) 
		set f=fso.getfolder(drvpath3) 
		size3=f.size
		drvpath4=server.mappath("../upload") 
		set h=fso.getfolder(drvpath4) 
		size4=h.size
		size=size1-size2-size3-size4
	Else
		drvpath=server.mappath(drvpath) 
		set d=fso.getfolder(drvpath) 
		size=d.size
	End If
	size_n=Round(size/sizex*298,2)
	showsize=size & " Byte" 
	if size>1024 Then
		size=(Size/1024)
		showsize=formatnumber(size,2) & " KB"
	end If
	if size>1024 Then
		size=(size/1024)
		showsize=formatnumber(size,2) & " MB" 
	end If
	if size>1024 Then
		size=(size/1024)
		showsize=formatnumber(size,2) & " GB" 
	end If 
	response.write "<font face=verdana>" & showsize & "</font>"
End Sub 



Sub RestoreData()%>
	<h2>还原数据库(恢复论坛数据( 需要FSO支持,FSO相关帮助请看微软网站 ))</h2>
	<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- 		<tr> 
		<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)  
</td>
		</tr> -->
		<form id="edit" method="post" action="?action=RestoreData&act=Restore">
		<tr> 
		<td class="art_tit zq">还原的路径(相对路径):<input type=text size=30 name=DBpath value="..\DataBackup\<%=Date()%>_Bak.mdb"></td>
		</tr>
		<tr> 
		<td class="art_tit">&nbsp;&nbsp;&nbsp;<input type=submit value="开始还原"></td>
		</tr>


		</form>
	</table>
	<h6>在上面填写本程序的数据库路径全名,本程序的默认备份数据库文件为DataBackup\时间_Bak.MDB,请按照您的备份文件自行修改。</h6>
  <h6>您可以用这个功能来备份您的法规数据,以保证您的数据安全!</h6>
  <h6>注意:所有路径都是相对与程序空间根目录的相对路径</h6>	
  
<%End Sub


Sub updata()
	'Dbpath=ZC_DATABASE_PATH
	Dbpath=server.mappath("../"&ZC_DATABASE_PATH)
	bkfolder=request.form("bkfolder")
	bkdbname=request.form("bkdbname")

	If bkfolder="" Then bkfolder="..\Databackup"
	If bkfolder="..\" & data_array(UBound(data_array)-1) Then errormsg "Error  备份数据库目标文件夹不可在系统数据库目录下!"
	If bkfolder="../" & data_array(UBound(data_array)-1) Then errormsg "Error  备份数据库目标文件夹不可在系统数据库目录下!"
	If bkdbname="" Then bkdbname="2007-9-9_bak"
	bkdbname=bkdbname & ".mdb"
	bkfolders=bkfolder
	Set Fso=server.CreateObject("scripting.filesystemobject")
	if fso.fileexists(dbpath) Then

		If CheckDir(bkfolder) = True Then
			fso.copyfile dbpath,bkfolder& "\"& bkdbname
		else
			MakeNewsDir bkfolder
			fso.copyfile dbpath,bkfolder& "\"& bkdbname
		end If
		
		response.write "<h2>已经成功备份,你的数据库的路径:" &bkfolders& "\"& bkdbname&"</h2>"
		response.write "<h4>点击此处将数据库下载下来:<a href="""& bkfolders & "/" & bkdbname &""">" & bkfolder & "/" & bkdbname &"</h4>"
		response.write "<h4><a href=""?action=deletebackup&dbpath="&bkfolders&"&dbname=" & bkdbname &""">当您下载完毕后,点击此处将删除备份的数据库!</h4>"
		response.write "<h4><a href=""javascript:history.go(-1)"">返回上一页</a></h4>"
	Else
		errormsg "Error  找不到文件!"
	End If
	Set fso = nothing
End Sub
'------------------检查某一目录是否存在-------------------
Function CheckDir(FolderPath)
	folderpath=Server.MapPath(".")&"\"&folderpath
	Set fso1 = CreateObject("Scripting.FileSystemObject")
	If fso1.FolderExists(FolderPath) Then	'存在
		CheckDir = True
	Else	'不存在
		CheckDir = False
	End If
	Set fso1 = nothing
End Function
'-------------根据指定名称生成目录-----------------------
Function MakeNewsDir(foldername)
	dim f
	Set fso1 = CreateObject("Scripting.FileSystemObject")
	Set f = fso1.CreateFolder(foldername)
	MakeNewsDir = True
	Set fso1 = nothing
End Function



Sub BackupData()
	%>
		<h2>备份数据库(恢复论坛数据( 需要FSO支持,FSO相关帮助请看微软网站 )</h2>
	<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- 		<tr> 
		<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)  
</td>
		</tr> -->
		<form id="edit" method="post" action="?action=BackupData&act=Backup">
		<tr> 
		<td class="art_tit zq">备份数据库目录(相对路径):<input type=text name=bkfolder value="..\Databackup" style="width:180px;">&nbsp;&nbsp;&nbsp;&nbsp;如目录不存在,程序将自动创建</td>
		</tr>
		<tr> 
		<td class="art_tit zq">备份数据库名称(填写名称):<input type=text name=bkDBname value="<%=Date()%>_bak"  style="width:156px;">.mdb&nbsp;&nbsp;&nbsp;&nbsp;按日期自动命名。如备份目录有该文件,将覆盖,如没有,将自动创建</td>
		</tr>
		<tr> 
		<td class="art_tit">&nbsp;&nbsp;&nbsp;<input type=submit value="开始备份"></td>
		</tr>


		</form>
	</table>
	<h6>请一定不能用默认名称命名备份数据库。</h6>
  <h6>您可以用这个功能来备份您的法规数据,以保证您的数据安全!</h6>
  <h6>注意:所有路径都是相对与程序空间根目录的相对路径</h6>	
  
	<%
End Sub




Sub CompressData()
%>
<h2>压缩数据库( 需要FSO支持,FSO相关帮助请看微软网站 )</h2>
	<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- 		<tr> 
		<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)  
</td>
		</tr> -->
		<form id="edit" action="?action=CompressData" method="post">
		<tr> 
		<td class="art_tit zq"><input type="checkbox" name="boolIs97" value="True">如果是ac97,请将钩打上.(默认是Access 2000)</td>
		</tr>
		<tr> 
		<td class="art_tit">&nbsp;&nbsp;&nbsp;<input type="submit" value="开始压缩"></td>
		</tr>
<INPUT TYPE="hidden" NAME="Cdat" value="1">

		</form>
	</table>
	

	<%
	Dim dbpath,boolIs97
	boolIs97 = request("boolIs97")
	If request("Cdat")<>"" Then 
	dbpath = server.mappath("../"&ZC_DATABASE_PATH)
	response.write(CompactDB(dbpath,boolIs97))
	End If
End Sub

'=====================压缩参数=========================
Function CompactDB(dbPath, boolIs97)
	Dim fso, Engine, strDBPath,JET_3X
	strDBPath = Left(dbPath,InStrRev(DBPath,"\"))
	Set fso = CreateObject("Scripting.FileSystemObject")
	If fso.FileExists(DBPath) Then
		fso.CopyFile dbpath,strDBPath & "temp.mdb"
		Set Engine = CreateObject("JRO.JetEngine")

		If boolIs97 = "True" Then
			Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
			"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb;" _
			& "Jet OLEDB:Engine Type=" & JET_3X
		Else
			Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
			"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb"
		End If

		fso.CopyFile strDBPath & "temp1.mdb",dbpath
		fso.DeleteFile(strDBPath & "temp.mdb")
		fso.DeleteFile(strDBPath & "temp1.mdb")
		Set fso = nothing
		Set Engine = nothing

		CompactDB = "<h6>您的数据库已经被成功压缩!	" & vbCrLf

	Else
		CompactDB = "<h6>您输入的路径错误,请确认后重新输入!</h6>" & vbCrLf
	End If

End Function
%>