⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data_s.asp

📁 学生报名管理系统 一个基于asp的网站
💻 ASP
字号:
<!--#include file="../inc/md5.asp"-->
<!--#include file="../conn.asp"-->
<!--#include file="inc/inc.asp"-->
<!--#include file="../inc/inc.asp"-->
<!--#include file="admin_page_top.asp"-->
<%
Login_Judge
Dim ZC_DATABASE_PATH
'数据库的路径
ZC_DATABASE_PATH=DataPath
data_array= Split(ZC_DATABASE_PATH,"/")
Dim action
action=trim(request("action"))
Dim dbpath,bkfolder,bkdbname,fso,fso1
Select Case action
Case ""
	Call chushihua()
Case "CompressData" '压缩数据
	Ispower 1033
	Dim tmprs
	dim allarticle
	dim Maxid
	dim topic,username,dateandtime,body
	call CompressData()
case "BackupData" '备份数据
	Ispower 1031
	if request("act")="Backup" Then
		call updata()
	else
		call BackupData()
	end If
case "RestoreData" '恢复数据
	Ispower 1032
	dim backpath
	if request("act")="Restore" Then
		Dbpath=request.form("Dbpath")
		backpath=ZC_DATABASE_PATH
		if dbpath="" Then
		response.write "Please input your database whole Name" 
		else
		Dbpath=server.mappath(Dbpath)
		end If
		backpath=server.mappath(backpath)

		Set Fso=server.CreateObject("scripting.filesystemobject")
		if fso.fileexists(dbpath) Then 
			fso.copyfile Dbpath,Backpath
			rightmsg "","数据库被成功还原!<br>"
		else
			errormsg "没找到您所需要的数据库!" 
		end If
	else
		call RestoreData()
	end If
Case "SpaceSize" '系统空间占用
	call SpaceSize()
Case "deletebackup"
	Dim dbname
	dbpath=Request.QueryString("dbpath")
	dbname=Request.QueryString("dbname")
	dbpath=Server.MapPath(dbpath)
	dbpath=dbpath &"\"&dbname
	set fso = CreateObject("Scripting.FileSystemObject")
	If fso.FileExists(dbPath) Then
		fso.DeleteFile(DBPath)
		Set fso = nothing
		rightmsg "data_s.asp?action=BackupData","您备份的数据库已经" & dbpath &"被成功删除!"
	Else
		response.write dbpath 
		errormsg "输入的路径错误,请确认后重新输入!"
	End If
Case Else
End Select

%>
<!--#include file="admin_page_footer.asp"-->

<%
'====================系统空间占用=======================
Sub SpaceSize()
	On Error Resume Next
	%>
	<h1>系统空间查看</h1>
	<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))%></td></tr>
		<tr> 
		<td class="art_info2 zq">备份数据库:<%showSpaceinfo("../databackup")%></td></tr>
		<tr> 
		<td class="art_info2 zq">页面文件:<%showSpaceinfo("$$~_~$$")%></td></tr>
		<tr> 
		<td class="art_info2 zq">系统总共:<%showSpaceinfo("../")%></td></tr>
	</table>
	
<%End Sub
Sub ShowSpaceInfo(drvpath)
	dim fso,d,size,showsize
	set fso=server.CreateObject("scripting.filesystemobject") 
	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) 
		size2=f.size
		size=size1-size2-size3
	Else
		drvpath=server.mappath(drvpath) 
		set d=fso.getfolder(drvpath) 
		size=d.size
	End If
	showsize=size & " Byte" 
	if size>1024 Then
		size=(Size/1024)
		showsize=size & " 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="data_s.asp?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(Dbpath)
	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=""data_s.asp?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="data_s.asp?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="data_s.asp?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


'////////////////////end////////////////////////
%>

⌨️ 快捷键说明

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