仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 504|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之纯编码完成Access数据库的创建或紧缩

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:58:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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安全
因胸联盟 该用户已被删除
沙发
发表于 2015-1-20 07:09:15 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
海妖 该用户已被删除
板凳
发表于 2015-1-25 23:34:20 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
透明 该用户已被删除
地板
发表于 2015-1-31 06:00:02 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
小妖女 该用户已被删除
5#
发表于 2015-2-6 17:37:50 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
小女巫 该用户已被删除
6#
发表于 2015-2-17 18:39:00 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-5 21:49:25 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
只想知道 该用户已被删除
8#
发表于 2015-3-12 15:44:45 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
柔情似水 该用户已被删除
9#
发表于 2015-3-19 23:35:24 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 06:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表