ASP教程之ASP中Connection对像封装dll办理计划
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。connection|封装|办理 asp代码保密一向是使人头痛的成绩,今朝没有十分好的办理计划,不过用vb编译成dll,但事情量其实太年夜,因而一向苦苦追求着另外一种路子。。。午时,俄然灵感一发,“为何不实验用加密数据库?”,经由过程对数据库设一个高强度的暗码,然后用vb封装connection对像,将暗码信息写在dll里,然后经由过程asp创立组件体例挪用,就算人家拿了我的代码,也没法修改数据库!
因而,入手下手了一步步既疾苦又安慰的路程。vb三四年前用过,并且菜得不再菜,为了找思绪,就上彀搜,百度偶然候也挺害人的,搜了一年夜堆误人后辈的东东出来,出格是谁人vb程序里只放一个毗连字符串,然后用asp创立组件,掏出字串,然后毗连的思绪,没任何意义,一句respose.write毗连字串就出来。
到达加密数据库的目标,链接字串相对是不克不及显现的,以是我参考了龙卷风写的"利用组件封装数据库操纵(二)"中的办法,设定一个conn的全局变量,然后翻开数据库的函数前往的只要true跟false。更主要的一点就是封装rs的execute办法,将其写到dll里,详细操纵以下:
1.翻开vb,创立一个activexdll工程,工程称号叫myconn,类模块是dbconn,然后写进以下代码:
OptionExplicit
DimrpAsResponse
DimrqAsRequest
DimapAsApplication
DimsrAsServer
DimsnAsSession
DimConnAsADODB.Connection创立conn全局变量
DimRSAsADODB.Recordset创立全避变量rs
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
PublicFunctionopenConn()
DimstrAsString
SetConn=sr.CreateObject("ADODB.Connection")
str="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&sr.MapPath("/mssdatabase/dbtest.mdb")&";datapassword=123456789"
Conn.Openstr
IfErr.Number0Then就是在社里前往喔
openConn=False
Else
openConn=True
EndIf
EndFunction
PublicFunctionexecute(sql)AsADODB.Recordset创立一个execute的办法,前往为recordset对像
SetRS=NewADODB.Recordset
RS.CursorLocation=adUseClient
CallopenConn这句得要加,仿佛在内部的asp中不克不及触发全局conn变量,不知为此??
RS.Opensql,Conn,3,3
Setexecute=RS
EndFunction
编译该工程时,牢记援用(工程>援用)"Microsoftactiveserverpagesobjectlibrary"和"microsoftactivexXdataobject2.6library"两个库类(感到像c#的using差未几一样),然后编译成dll(文件>天生myconn.dll),一样平常vb编译成dll城市在体系中主动注册,假如是ntsf分区,给该dll加个everyone可读,实行权限,然后到asp里挪用,完成代码以下:
<%
dimconn
dimdbLink
dbLink="2"
ifdbLink="1"then假如代码在其余呆板上运转就利用dll组件链接数据库,不然就利用当地链接
Setconn=Server.CreateObject("myconn.dbconn")
conn.openConn
else
setconn=Server.CreateObject("ADODB.CONNECTION")
DBPath=Server.MapPath("/mssdatabase/dbtest.mdb")
conn.open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&DBPath
endif
%>
因为两种链接体例都只是利用了一个conn对像,以是不必对其他代码举行年夜修正,仍是对照便利,今朝dll中的execute办法对select操纵已测试经由过程,另有insert、update、delete等办法有待完美。
附件为myconn工程文件全体代码:点击这里下载源文件
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
页:
[1]