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

"\" 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.number0 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.number0 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.number0 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.number0 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.number0 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
%>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

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

    "\" 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 &

  • 用javascript连接access数据库的方法

    刚看到一个朋友写的用javascript连接excel数据库的程序,想把它改成access数据库的,就找到了这两篇文章 ------------------------------------------    这几天费了挺大力气在网上查找javascript连接access数据库的方法, 经过整理总结,终于写出一段能够有效执行的代码. 但是这段代码在本地可以正常运行,一旦放到免费个人空间上就没法执 行了,主要原因就是操作权限不够,由于只支持静态页面的免费空间多数都 作了非常严格的限制,所以无论

  • Java Web项目中连接Access数据库的配置方法

    老师决定期末考试采用access数据库实现增删改查,我认为现在的我已经没有问题了,但是以前都是在JSP页面中连接access数据库,无论是以下的那种方式都进行了连接的练习,但是现在我想让我的项目中的访问access数据库的java代码,封装到DAO中,在DAO中连接数据库,没有和Servlet API有任何的关系.对于大多数人都会优先选择使用ODBC数据源的方式或者是使用绝对路径的方式连接access数据库,但是我个人认为,这样做不太好,如果采用这样的方式,项目做好后,放到他人的服务器上是无法运

  • asp access数据库并生成XML文件范例

    首先来看,ASP读取ACCESS数据库. 复制代码 代码如下: <% @language="VBScript" @codepage="65001"%> <% '开启显式变量声明 Option Explicit '设置输出类型 Response.contentType="text/xml" '定义三个变量,conn(Connection对象).connstr(ConnectionString).sql(一个SQL语句) dim c

  • JDBC连接Access数据库的几种方式介绍

    接下来总结一下常用的几种连接方式. 例如有如下的Access数据库student,表basic,以及6条记录,现在通过几种方式在Jsp中将他们的数据显示出来.如图所示: 对于几种连接Access数据库的方式,基本上都是基于JDBC-ODBC方式的,当然也有纯JDBC驱动的方式.这里我暂时就不说了.对于这几种方式,除了取得连接之处不同外,其他的代码都是一样的.所以这里先写出取得连接的几种方式,然后再用完整的代码进行显示. 方式一:通过JDBC-ODBC方式桥连直接连接: 1.对于这种方式,首先要建

  • VB6实现连接Access数据库的ADODB代码实现方法

    本文实例讲述了使用ADODB.Connection连接access数据库的方法,驱动类型版本为:Microsoft.Jet.OLEDB.4.0.在VB的数据库操作中,连接数据库是第一步,也是最基本的,本文所述的这个例子,对于初学者学习如何在VB中连接Access数据库有着很好的借鉴参考价值. 具体实现代码如下: VERSION 5.00 Begin VB.Form 操作数据库 Caption = "VB操作数据库" ClientHeight = 3645 ClientLeft = 49

  • Access数据库提示OleDbException (0x80004005): 操作必须使用一个可更新的查询

    说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.OleDb.OleDbException: 无法从指定的数据表中删除. 源错误: 行 37: comm.CommandText = sqlstr; 行 38: //comm.Prepare(); 行 39: cout = comm.ExecuteNonQuery(); 行 40: 行 41: conn.Close(); 源文件:

  • Java 连接Access数据库的两种方式

    java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来程序部署的每个机器上都要进行设置不方面.所以现在不会使用啦. 2.JDBC java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接. 复制代码 代码如下: java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 复制代

  • net操作access数据库示例分享

    复制代码 代码如下: using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.Web

  • ASP.NET 链接 Access 数据库路径问题最终解决方案

    当做小项目用 ASP.NET + Access 数据库时,总是遇到数据库路径问题,本人以前的解决方法是每次访问数据库时,把链接字符串以参数的形式传到数据访问层,实施起来相当麻烦,这次找到了一个比较好的方案,这是本人目前的最终解决方案(如题)  ^_^ 解决方案为: 在 Web.Config 中配置 Access 数据库驱动和数据库文件名称. 请看代码 <appSettings>     <add key="DBDriver" value="Provider=

随机推荐