用VB生成dll代码,封装ASP连接到数据库。
本文将数据库与由VB生成的DLL封装的ASP代码连接起来(作为access数据库的一个示例)。一般来说,当我们使用ASP连接到Access数据库时,我们通常会做以下操作
/ / proconn.asp
<
昏暗的钰航
集钰航= server.createobject(数据连接)
钰航。打开司机= {微软Access Driver(* .mdb)};UID =;密码= 123;DBQ =server.mappath(分贝。ASP )
这改变了db.asp后缀为Access数据库,最初是DB.mdb文件,数据库密码123
如果错误,数字<0,然后
响应。写数据库没有链接,请检查。
反应结束
其他的
响应。写入数据库链接成功
反应结束
最后如果
%>
如果服务器配置,访问proconn.asp,如果连接数据库成功,数据库链接成功。
但是这种ASP代码的安全级别很低。如果在原始一代中看到这个ASP,那么另一个数据库文件对其他人来说是很容易的。
打开数据库并操作它。
那么,我们的任务是如何封装这些关键内容呢
首先,我们需要确定道路和目标。
Internet上的一些信息主要是用VB生成dll的方式封装的。所以我们也采取这种方式,虽然我还没有真正使用VB。
这个方法是确定的,那么我们需要封装哪些对象呢
来看看
司机= {微软Access Driver(* .mdb)};UID =;密码= 123;DBQ =server.mappath(分贝。ASP )
这是最关键的代码。此代码封装在VB生成的DLL中,应该更好。
不是整个原因
昏暗的钰航
集钰航= server.createobject(数据连接)
钰航。打开司机= {微软Access Driver(* .mdb)};UID =;密码= 123;DBQ =server.mappath(分贝。ASP )
封装,因为整个连接代码封装在互联网上,是因为Proconn.asp其他ASP文件参考,
我还需要钰航里面做其他操作,如果封装,它不便于参考和操作。
上述封装的原因是我个人的看法。一些朋友说,整体封装在ProConn使用没有效果。我不懂这个。请告诉我。
只有把最关键的部分司机= {微软Access Driver(* .mdb)};UID =;密码= 123;DBQ =server.mappath(分贝。ASP )
分析此部分的内容以封装。
它的前半部分是一个字符串:
司机= {微软Access Driver(* .mdb)};UID =;密码= 123;DBQ =
连接到字符串后半部分的另一个字符串。
在下半年的其他字符串的server.mappath对象函数的返回值。
此封装的操作是从下面开始的。
弗斯特
在VB中建立一个新的ActiveX DLL项目,该项目的名称更改为的condbdll方法1名,和一班的名字改为CS
调用这个DLL时,将使用工程名称和方法名,每个人都可以根据自己的命名规则定义它,但请注意它。
dll的代码部分写如下:
冷响应
昏暗的RQ要求
应用模糊AP
作为服务器的模糊SR
作为会话的弱SN
市民Sub OnStartPage(myscriptingcontext作为scriptingcontext)
设置= myscriptingcontext。响应
Set RQ = MyscriptingContext.Request
SR = myscriptingcontext服务器设置。
AP = myscriptingcontext应用设置。
Sn = myscriptingcontext会话设置。
端子
市民Sub OnEndPage()
设置
设置RQ =没有
设置SR =无
设置ap
设置无
端子
上面的语句是必要的,简化了原始对象并处理了两个基本函数。
公共函数ConnectDB()为变异
connectdb =司机= {微软Access Driver(* .mdb)};UID =;密码= 123;DBQ =
端功能
上面的函数是处理字符串的前半部分,并直接返回字符串的内容。
下面的函数被定义为处理内容的后半部分
公共函数DBPath()为变异
mdbquot = sr.mappath(分贝。ASP )
端功能
注意使用SR,不要使用服务器
关键的一步是加入微软Active Server Pages ObjectContext对象库项目。
添加方法,在打开对话框中的项目参考中选择菜单,选择。
是的,你还必须选择微软ActiveX数据对象2.6库
在上述操作之后,我们可以编译和生成DLL(不要忘记以前的修改和方法名称的名称)
准备数据库文件DB.asp(由db.mdb变后缀,密码123)
下面是调用封装的连接数据库的ASP文件代码:
/ / proconn.asp
<
昏暗的钰航
集钰航= server.createobject(数据连接)
昏暗的condb
集condb = server.createobject(condbdll。康)
condb是dll创建对象
昏暗的strconn
定义字符串
strconn = condb.connectdb()ConDB.DBPath()
连接一个字符串的两个部分组成一个字符串
钰航。Open StrConn
执行数据库对象操作
%>
因为它是由自己创建的DLL,必须在将其复制到相应目录之后注册使用它。
在操作过程中执行注册方法:
luanluandbconn.dll regsvr32.exe
取消DLL注册的方式是:regsvr32.exe /你luanluandbconn.dll
注册完成后,我们的工作基本上完成了,现在我们可以使用这种包方法连接目标数据库了。
但有一件事需要特别注意的是:
因为
昏暗的condb
集condb = server.createobject(condbdll。康)
condb是dll创建对象
这是在ASP创立的对象包括钰航,让我们记得释放这两个对象在任何其他ASP文件,我们使用proconn.asp(参考)。
proconn.close
集钰航=没有
集condb =没有
否则,系统将变得越来越难以忍受,因为对象没有被释放。
至于封装ASP代码连接到access数据库的方法,我想充分应用其他数据库的连接方法。
其他数据库连接的封装是相同的。