ASP 精华源码收集(五年总结)第1/20页

来源:asp之家 时间:2011-04-07 11:15:00 

 

<% 
'#######以下是一个类文件,下面的注解是调用类的方法################################################ 
'# 注意:如果系统不支持建立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 
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 
%> 

标签:ASP,精华源码
0
投稿

猜你喜欢

  • Python数据可视化实现多种图例代码详解

    2022-02-11 04:01:38
  • 一文详解Python中的super 函数

    2022-02-26 03:18:35
  • python+pytest接口自动化之日志管理模块loguru简介

    2021-10-25 14:41:34
  • Python实现删除重复视频文件的方法详解

    2022-06-16 03:24:29
  • tornado捕获和处理404错误的方法

    2023-11-27 11:03:36
  • Python中django学习心得

    2023-12-24 17:10:15
  • python实现任意位置文件分割的实例

    2021-01-17 18:18:22
  • 网购中的商品评价与口碑传播-译

    2010-07-09 13:44:00
  • python实现电子词典

    2023-05-14 00:29:01
  • 返回页面顶部top按钮通过锚点实现(自写)

    2024-04-10 10:47:23
  • 将tf.batch_matmul替换成tf.matmul的实现

    2021-03-25 03:35:43
  • SQL Server的FileStream和FileTable深入剖析

    2023-07-17 01:17:24
  • Bootstrap源码解读按钮(5)

    2023-08-23 01:16:51
  • HTML4标签的默认样式列表

    2007-09-28 22:00:00
  • PHP行为设计模式之策略模式

    2023-05-28 08:34:46
  • Vue3 组件库的环境配置搭建过程

    2024-04-30 10:19:58
  • python cv2截取不规则区域图片实例

    2022-08-31 18:58:42
  • python实现自动化之文件合并

    2023-12-27 07:11:37
  • CentOS 7.2下MySQL的安装与相关配置

    2024-01-16 23:21:29
  • 详解pytest实现mark标记功能详细介绍

    2022-01-16 23:59:48
  • asp之家 网络编程 m.aspxhome.com