当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP编程技巧大全

ASP
十天学会ASP之第六天
十天学会ASP之第七天
十天学会ASP之第八天
十天学会ASP之第九天
十天学会ASP之第十天
三天学好ADO之第一天
三天学好ADO之第二天
三天学好ADO之第三天
在ASP中用集合成批操作数据库(一)
在ASP中用集合成批操作数据库(二)
ASP访问SQL Server内置对象
不通过数据源完全控制MDB数据库
ASP数据库简单操作教程
ASP 函数语法速查表
关于Win2K3中利用ASP上传文件的问题
ASP讲座之一:网页开发利器:高效易学的ASP
ASP讲座之二:读取通过表单发送的数据
ASP讲座之三:Application对象与Session对象
ASP讲座之四:ASP内置组件
ASP讲座之五:ASP组件(二)

ASP编程技巧大全


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 82 ::
收藏到网摘: n/a

       <%
  ''#######以下是一个类文件,下面的注解是调用类的方法################################################
  ''# 注意:如果系统不支持建立Scripting.FileSystemObject对象,那么数据库压缩功能将无法使用
  ''# Access 数据库类
  ''# CreateDbFile 建立一个Access 数据库文件
  ''# CompactDatabase 压缩一个Access 数据库文件
  ''# 建立对象方法:
  ''# Set a = New DatabaseTools
  ''# by (萧寒雪) s.f.
  ''#########################################################################################
  
  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
 &nb