仓酷云
标题:
ASP网页编程之用VB天生DLL封装ASP代码,毗连数据库
[打印本页]
作者:
愤怒的大鸟
时间:
2015-1-16 23:09
标题:
ASP网页编程之用VB天生DLL封装ASP代码,毗连数据库
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。封装|毗连数据库这篇文章以VB天生的DLL封装ASP代码来毗连数据库(以Access数据库为例)。
一样平常情形下我们在用ASP毗连Access的数据库时一般城市举行以下的操纵
//Proconn.asp
<%
dimProConn
setProConn=Server.CreateObject("ADODB.CONNECTION")
ProConn.Open"driver={MicrosoftAccessDriver(*.mdb)};uid=;pwd=123;DBQ="&Server.MapPath("DB.asp")
一个底本为DB.mdb的Access数据库变动后缀为DB.asp的文件,数据库暗码123
iferr.Number0then
ResPonse.Write"数据库没有保持,请反省"
ResPonse.End
else
ResPonse.Write"数据库保持乐成"
ResPonse.End
endif
%>
假如设置好服务器,会见Proconn.asp,假如毗连数据库乐成会输入“数据库保持乐成”。
可是如许的asp代码的平安级别十分低,假如此asp原代被人看到,那末再有此数据库文件的话,其别人就可以十拿九稳的
任意翻开你的数据库举行操纵。
以是我们的义务来了,怎样将这些关头的内容封装起来呢?
起首必要断定体例办法和工具。
检察了网上的一些材料,次要都是用VB天生DLL的举措来封装的,那末我们也接纳如许的办法好了,(固然我还没用真正用过VB这东东)
体例办法断定,那末甚么是我们必要封装的工具呢?
人人来看
"driver={MicrosoftAccessDriver(*.mdb)};uid=;pwd=123;DBQ="&Server.MapPath("DB.asp")
是最关头的代码,这段代码封装在一个用VB天生的DLL中,应当对照好。
之以是不将全部
dimProConn
setProConn=Server.CreateObject("ADODB.CONNECTION")
ProConn.Open"driver={MicrosoftAccessDriver(*.mdb)};uid=;pwd=123;DBQ="&Server.MapPath("DB.asp")
都封装,(由于网上有讲将全部毗连代码都封装)是由于,在其他asp文件援用Proconn.asp时,
我还必要内里的ProConn举行其他操纵,假如封装,方便举行援用和操纵。
(以上封装工具的注释缘故原由是我团体的看法,有伴侣说全体封装对ProConn的利用没有影响,这个我不睬解,请晓得的给我讲讲)
地点只想封装最关头的部分“"driver={MicrosoftAccessDriver(*.mdb)};uid=;pwd=123;DBQ="&Server.MapPath("DB.asp")”
剖析一下这段要封装的内容,
它的前半部分就是一个字符串:
"driver={MicrosoftAccessDriver(*.mdb)};uid=;pwd=123;DBQ="
用&毗连上后半部分的另外一个字符串。
后半部分的另外一个字符串是Server.MapPath工具函数的前往值。
上面入手下手这个封装的操纵历程。
起首
新建一个VB下的ActiveXDLL工程,工程的称号Project1变动成ConDBDLL??办法class1的称号变动成cs
工程名和办法名会在挪用这个DLL的时分利用到,人人能够依照本人定名划定规矩界说,但请注重好好利用。
这个DLL的代码部分誊写以下:
DimrpAsResponse
DimrqAsRequest
DimapAsApplication
DimsrAsServer
DimsnAsSession
PublicSubOnStartPage(MyScriptingContextAsScriptingContext)
Setrp=MyScriptingContext.Response
Setrq=MyScriptingContext.Request
Setsr=MyScriptingContext.Server
Setap=MyScriptingContext.Application
Setsn=MyScriptingContext.Session
EndSub
PublicSubOnEndPage()
Setrp=Nothing
Setrq=Nothing
Setsr=Nothing
Setap=Nothing
Setsn=Nothing
EndSub
以上语句是必需的,将底本的工具作了简化处置,并在两个基础函数中作了处置
PublicFunctionConnectDB()AsVariant
ConnectDB="driver={MicrosoftAccessDriver(*.mdb)};uid=;pwd=123;DBQ="
EndFunction
下面这个函数是处置前半部分字符串的,间接前往这个字符串的内容
别的界说上面这个函数来处置后半部份内容
PublicFunctionDBPath()AsVariant
DBPath=sr.MapPath("DB.asp")
EndFunction
注重下面利用的是sr,不要利用成Server了
到了关头的一步,给这个工程增加"MicrosoftActiveServerPagesObjectContextObjectLibrary"的Reference
增加办法,选择菜单中的"Project"->"Reference",在翻开的对话框里选择。
对了,还要选择上"microsoftactiveXdataobjects2.6library"
举行完以上操纵,我们就能够编译天生DLL了,(别忘了后面的改工程名和办法名)
筹办好数据库文件DB.asp(由DB.mdb变动后缀而成,暗码123)
上面就是挪用封装的毗连数据库的asp文件代码:
//ProConn.asp
<%
dimProConn
setProConn=Server.CreateObject("ADODB.CONNECTION")
DimConDB
setConDB=Server.CreateObject("ConDBDLL.Conn")
ConDB就是创立的DLL工具
DimStrConn
界说一个字符串
StrConn=ConDB.ConnectDB()&ConDB.DBPath()
毗连两部份内容构成字符串
ProConn.OpenStrConn
实行数据库工具操纵
%>
因为是本人创立的DLL,把它拷贝到响应的目次后,必需注册才干利用。
注册的办法,在“运转”中实行:
Regsvr32.exelyfUpload.dll
作废这个DLL的注册的办法是:Regsvr32.exe/ulyfUpload.dll
注册终了,我们的事情基础上就做完了,如今我们可使用如许的封装办法毗连具有针对性的数据库了。
不外有一点必要出格注重的是:
因为
DimConDB
setConDB=Server.CreateObject("ConDBDLL.Conn")
ConDB就是创立的DLL工具
这是在ASP中创立的工具,包含ProConn,那末我们在任何利用到(援用)ProConn.asp的其他ASP文件中记得开释这两个工具!
ProConn.close
setProConn=nothing
setConDB=Nothing
不然体系会因为工具没有开释,而变得愈来愈不胜重负。
关于这个封装ASP代码毗连Access数据库的办法,我想完整合用其他数据库的毗连办法。
我想我的这个办法并非最好的,有任何不敷的地方,请看过的人给我斧正,在此先行谢过。
</p>无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
作者:
山那边是海
时间:
2015-1-20 07:42
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
作者:
乐观
时间:
2015-1-24 16:59
掌握asp的特性而且一定要知道为什么。
作者:
谁可相欹
时间:
2015-1-25 15:28
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者:
若天明
时间:
2015-2-2 22:36
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者:
蒙在股里
时间:
2015-2-8 17:55
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
作者:
分手快乐
时间:
2015-2-25 22:02
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者:
精灵巫婆
时间:
2015-3-8 07:29
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者:
简单生活
时间:
2015-3-15 21:07
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者:
灵魂腐蚀
时间:
2015-3-22 04:15
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2