|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;access|编码|数据|数据库|紧缩<%
#######以下是一个类文件,上面的注解是挪用类的办法################################################
#注重:假如体系不撑持创建Scripting.FileSystemObject工具,那末数据库紧缩功效将没法利用
#Access数据库类
#CreateDbFile创建一个Access数据库文件
#CompactDatabase紧缩一个Access数据库文件
#创建工具办法:
#Seta=NewDatabaseTools
#by(萧冷雪)s.f.
#########################################################################################
ClassDatabaseTools
PublicfunctionCreateDBfile(byValdbFileName,byValDbVer,byValSavePath)
创建数据库文件
IfDbVeris0ThenCreateAccess97dbFile
IfDbVeris1ThenCreateAccess2000dbFile
OnerrorresumeNext
IfRight(SavePath,1)""OrRight(SavePath,1)"/"ThenSavePath=Trim(SavePath)&""
IfLeft(dbFileName,1)=""OrLeft(dbFileName,1)="/"ThendbFileName=Trim(Mid(dbFileName,2,Len(dbFileName)))
IfDbExists(SavePath&dbFileName)Then
Response.Write("对不起,该数据库已存在!")
CreateDBfile=False
Else
DimCa
SetCa=Server.CreateObject("ADOX.Catalog")
IfErr.number0Then
Response.Write("没法创建,请反省毛病信息<br>"&Err.number&"<br>"&Err.Description)
Err.Clear
Exitfunction
EndIf
IfDbVer=0Then
callCa.Create("Provider=Microsoft.Jet.OLEDB.3.51;DataSource="&SavePath&dbFileName)
Else
callCa.Create("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&SavePath&dbFileName)
EndIf
SetCa=Nothing
CreateDBfile=True
EndIf
Endfunction
PublicfunctionCompactDatabase(byValdbFileName,byValDbVer,byValSavePath)
紧缩数据库文件
0为access97
1为access2000
OnErrorresumenext
IfRight(SavePath,1)""OrRight(SavePath,1)"/"ThenSavePath=Trim(SavePath)&""
IfLeft(dbFileName,1)=""OrLeft(dbFileName,1)="/"ThendbFileName=Trim(Mid(dbFileName,2,Len(dbFileName)))
IfDbExists(SavePath&dbFileName)Then
Response.Write("对不起,该数据库已存在!")
CompactDatabase=False
Else
DimCd
SetCd=Server.CreateObject("JRO.JetEngine")
IfErr.number0Then
Response.Write("没法紧缩,请反省毛病信息<br>"&Err.number&"<br>"&Err.Description)
Err.Clear
Exitfunction
EndIf
IfDbVer=0Then
callCd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;DataSource="&SavePath&dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data
Source="&SavePath&dbFileName&".bak.mdb;JetOLEDB;EncryptDatabase=True")
Else
callCd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&
SavePath&dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&
SavePath&dbFileName&".bak.mdb;JetOLEDB;EncryptDatabase=True")
EndIf
删除旧的数据库文件
callDeleteFile(SavePath&dbFileName)
将紧缩后的数据库文件复原
callRenameFile(SavePath&dbFileName&".bak.mdb",SavePath&dbFileName)
SetCd=False
CompactDatabase=True
EndIf
endfunction
PublicfunctionDbExists(byValdbPath)
查找数据库文件是不是存在
OnErrorresumeNext
Dimc
Setc=Server.CreateObject("ADODB.Connection")
c.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&dbPath
IfErr.number0Then
Err.Clear
DbExists=false
else
DbExists=True
EndIf
setc=nothing
Endfunction
PublicfunctionAppPath()
取以后实在路径
AppPath=Server.MapPath("./")
Endfunction
PublicfunctionAppName()
取以后程序称号
AppName=Mid(Request.ServerVariables("SCRIPT_NAME"),(InStrRev(Request.ServerVariables("SCRIPT_NAME"),"/",-1,1))+1,Len(Request.ServerVariables("SCRIPT_NAME")))
EndFunction
PublicfunctionDeleteFile(filespec)
删除一个文件
Dimfso
Setfso=CreateObject("Scripting.FileSystemObject")
IfErr.number0Then
Response.Write("删除文件产生毛病!请检察毛病信息<br>"&Err.number&"<br>"&Err.Description)
Err.Clear
DeleteFile=False
EndIf
callfso.DeleteFile(filespec)
Setfso=Nothing
DeleteFile=True
</p>缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 |
|