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"> <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;"> 如目录不存在,程序将自动创建</td> </tr> <tr> <td class="art_tit zq">备份数据库名称(填写名称):<input type=text name=bkDBname value="<%=Date()%>_bak" style="width:156px;">.mdb 按日期自动命名。如备份目录有该文件,将覆盖,如没有,将自动创建</td> </tr> <tr> <td class="art_tit"> <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"> <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 %>