您的位置:首页资讯压缩软件 → 纯编码实现数据库的建立或压缩

纯编码实现数据库的建立或压缩

时间:2004/11/7 3:02:00来源:本站整理作者:蓝点我要评论(0)

<% 

'#######以下是一个类文件,下面的注解是调用类的方法

'#  注意:如果系统不支持建立Scripting.FileSystemObject对象,

那么数据库压缩功能将无法使用 

'#                          Access 数据库类 

'# CreateDbFile 建立一个Access 数据库文件 

'# CompactDatabase 压缩一个Access 数据库文件 

'# 建立对象方法: 

'#     Set a = New DatabaseTools 





Class DatabaseTools 



Public function CreateDBfile(byVal dbFileName,byVal DbVer,byVal SavePath) 

'建立数据库文件 

'If DbVer is 0 Then Create Access97 dbFile 

'If DbVer is 1 Then Create Access2000 dbFile 

On error resume Next 

If Right(SavePath,1)<>"\" Or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & "\" 

If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName))) 

If DbExists(SavePath & dbFileName) Then 

Response.Write ("对不起,该数据库已经存在!") 

CreateDBfile = False 

Else 

Dim Ca 

Set Ca = Server.CreateObject("ADOX.Catalog") 

If Err.number<>0 Then 

Response.Write ("无法建立,请检查错误信息
" & Err.number & "
" & Err.Description) 

Err.Clear 

Exit function 

End If 

If DbVer=0 Then 

call Ca.Create("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName) 

Else 

call Ca.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath & dbFileName) 

End If 

Set Ca = Nothing 

CreateDBfile = True 

End If 

End function 



Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath) 

'压缩数据库文件 

'0 为access 97 

'1 为access 2000 

On Error resume next 

If Right(SavePath,1)<>"\" Or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & "\" 

If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName))) 

If DbExists(SavePath & dbFileName) Then 

Response.Write ("对不起,该数据库已经存在!") 

CompactDatabase = False 

Else 

Dim Cd 

Set Cd =Server.CreateObject("JRO.JetEngine") 

If Err.number<>0 Then 

Response.Write ("无法压缩,请检查错误信息
" & Err.number & "
" & Err.Description) 

Err.Clear 

Exit function 

End If 

If DbVer=0 Then 

call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data 

Source=" & SavePath & 

dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & 

SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True") 

Else 

call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data 

Source=" & SavePath & 

dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath 

& dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True") 

End If 

'删除旧的数据库文件 

call DeleteFile(SavePath & dbFileName) 

'将压缩后的数据库文件还原 

call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName) 

Set Cd = False 

CompactDatabase = True 

End If 

end function 



Public function DbExists(byVal dbPath) 

'查找数据库文件是否存在 

On Error resume Next 

Dim c 

Set c = Server.CreateObject("ADODB.Connection") 

c.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath 

If Err.number<>0 Then 

Err.Clear 

DbExists = false 

else 

DbExists = True 

End If 

set c = nothing 

End function 



Public function AppPath() 

'取当前真实路径 

AppPath = Server.MapPath("./") 

End function 



Public function AppName() 

'取当前程序名称 

AppName = Mid(Request.ServerVariables("SCRIPT_NAME"),(InStrRev(Request.ServerVariables("SCRIPT_NAME") ,"/",-1,1))+1,Len(Request.ServerVariables("SCRIPT_NAME"))) 

End Function 



Public function DeleteFile(filespec) 

'删除一个文件 

Dim fso 

Set fso = CreateObject("Scripting.FileSystemObject") 

If Err.number<>0 Then 

Response.Write("删除文件发生错误!请查看错误信息
" & Err.number & "
" & Err.Description) 

Err.Clear 

DeleteFile = False 

End If 

call fso.DeleteFile(filespec) 

Set fso = Nothing 

DeleteFile = True 

End function 



Public function RenameFile(filespec1,filespec2) 

'修改一个文件 

Dim fso 

Set fso = CreateObject("Scripting.FileSystemObject") 

If Err.number<>0 Then 

Response.Write("修改文件名时发生错误!请查看错误信息
" & Err.number & "
" & Err.Description) 

Err.Clear 

RenameFile = False 

End If 

call fso.CopyFile(filespec1,filespec2,True) 

call fso.DeleteFile(filespec1) 

Set fso = Nothing 

RenameFile = True 

End function 



End Class 

%>


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 2345好压怎么解压 好压360压缩怎么减少关联的巧用快压合并MP3文件压缩文件损坏怎么办?W

最新文章 快压怎么使用托盘挂载快压怎么使用压缩包直 快压怎么使用右键制作超高压缩比格式快压怎么制作固实压缩包 快压制作固实压缩快压怎么制作自解压安装包快压怎么加密 快压怎么设置密码

人气排行 gzip是什么文件?gzip文件怎么打开?2345好压怎么解压 好压怎么解压文件2345好压怎么压缩文件2345好压忘记密码怎么办 2345好压密码找回方2345好压怎么删除 2345好压卸载不了解决方法压缩文件格式有哪些压缩文件损坏怎么办?WinRAR内置压缩文件修复快压如何压缩文件 快压压缩文件方法