用VB生成DLL封装ASP代码一个例子:连接access数据库等

时间:2008-04-07 13:06:00 

封装为dll会带来很多的好处,主要包括只是产权的保护,以及效率和安全性能的提升。这个例子中被封装的dll文件可以隐藏access数据库的实际路径。

VB生成的DLL封装ASP代码来连接数据库(Access)。

本文用一个最简单的连接access数据库的例子来说明如何将asp代码封装为dll文件。

我们用vb,最常见的方式来封装asp代码。

我们需要封装的对象如下:

'Proconn.asp
dim ProConn
set ProConn=Server.CreateObject("ADODB.CONNECTION")
ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" & Server.MapPath("DB.asp")

我们将下面的部分封装

"driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" & Server.MapPath("DB.asp")

分析一下这段要封装的内容,它的前半部分就是一个字符串:

"driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ="

用&连接上后半部分的另一个字符串。后半部分的另一个字符串是Server.MapPath对象函数的返回值。

下面开始这个封装的操作过程。

首先新建一个VB下的ActiveX DLL工程,工程的名称Project1更改成ConDBDLL方法class1的名称更改成cs工程名和方法名会在调用这个DLL的时候使用到,大家可以按照自己命名规则定义,但请注意好好使用。

这个DLL的代码部分书写如下:

Dim rp As Response
Dim rq As Request
Dim ap As Application
Dim sr As Server
Dim sn As Session

Public Sub OnStartPage(MyScriptingContext As ScriptingContext)
Set rp = MyScriptingContext.Response
Set rq = MyScriptingContext.Request
Set sr = MyScriptingContext.Server
Set ap = MyScriptingContext.Application
Set sn = MyScriptingContext.Session
End Sub

Public Sub OnEndPage()
Set rp = Nothing
Set rq = Nothing
Set sr = Nothing
Set ap = Nothing
Set sn = Nothing
End Sub
'以上语句是必须的,将原本的对象作了简化处理,并在两个基本函数中作了处理

Public Function ConnectDB() As Variant
ConnectDB = "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ="
End Function
'上面这个函数是处理前半部分字符串的,直接返回这个字符串的内容

'另外定义下面这个函数来处理后半部分内容
Public Function DBPath() As Variant
DBPath = sr.MapPath("DB.asp")
End Function
'注意上面使用的是sr,不要使用成Server了

到了关键的一步,给这个工程添加"Microsoft Active Server Pages ObjectContext Object Library" 的 Reference

添加方法,选择菜单中的"Project"->"Reference",在打开的对话框里选择。

对了,还要选择上"microsoft activeX data objects 2.6 library"

进行完以上操作,我们就可以编译生成DLL了,(别忘了前面的改工程名和方法名)

准备好数据库文件DB.asp (由DB.mdb更改后缀而成,密码123)

标签:dll,封装,vb,access,数据库
0
投稿

猜你喜欢

  • 全屏窗无提示关闭父窗口

    2013-06-30 05:41:36
  • Python 装饰器使用详解

    2021-09-02 05:41:01
  • MySQL中join语句怎么优化

    2024-01-15 20:53:35
  • Vue的表单双绑和组件你了解吗

    2023-07-02 17:03:43
  • 对Django中内置的User模型实例详解

    2022-10-31 05:03:10
  • FileUpload上传图片预览不变形

    2010-08-05 21:25:00
  • Python脚本处理空格的方法

    2021-03-12 09:45:33
  • 解决vue组件中click事件失效的问题

    2023-07-02 16:34:10
  • 通过yum方式安装mySql数据库的全过程

    2024-01-13 11:46:43
  • Python实现base64编码的图片保存到本地功能示例

    2024-01-01 22:58:03
  • vue如何解决空格和空行报错的问题

    2024-04-27 16:18:20
  • vscode调试django项目的方法

    2022-03-07 01:02:51
  • 使用Python绘制图表大全总结

    2022-08-09 20:35:27
  • 用php来改写404错误页让你的页面更友好

    2023-10-26 20:16:21
  • python使用pil进行图像处理(等比例压缩、裁剪)实例代码

    2022-12-22 16:50:09
  • 一文看懂JSONP原理和应用

    2024-04-23 09:10:47
  • Tensorflow 训练自己的数据集将数据直接导入到内存

    2023-08-18 14:30:14
  • Python注释、分支结构、循环结构、伪“选择结构”用法实例分析

    2021-01-15 14:45:25
  • Python实现验证码识别

    2022-01-04 09:51:04
  • FCKeditor.Net_2.2安全修正版

    2024-03-08 20:09:48
  • asp之家 网络编程 m.aspxhome.com