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

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

下面就是调用封装的连接数据库的asp文件代码:

由于是自己创建的DLL,把它拷贝到相应的目录后,必须注册才能使用。注册的方法,在“运行”中执行:Regsvr32.exe dllname.dll;取消这个DLL的注册的方法是:Regsvr32.exe /u dllname.dll

注册完毕,我们的工作基本上就做完了,现在我们可以使用这样的封装方法连接具有针对性的数据库了。

不过有一点需要特别注意的是:

由于

Dim ConDB
set ConDB=Server.CreateObject("ConDBDLL.Conn")
'ConDB就是创建的DLL对象
'这是在ASP中创建的对象,包括ProConn,那么我们在任何使用到(引用)ProConn.asp的其他ASP文件中记得释放这两个对象!
ProConn.close
set ProConn=nothing
set ConDB=Nothing

否则系统会由于对象没有释放,而变得越来越不堪重负。关于这个封装ASP代码连接Access数据库的方法,我想完全适用其他数据库的连接方法。

再例如,下面的封装的例子:

首先要申明变量:

Private WenScriptingContext As ScriptingContext
Private WenApplication As Application
Private WenRequest As Request
Private WenResponse As Response
Private WenServer As Server
Private WenSession As Session

为了在WenConnection类中使用ASP的内建对象,必须在此类中写一个OnStartPage子函数。那是因为无论什么时候用户访问一个带有本组件的ASP文件,IIS就会把ScriptingContext传送给我们的对象请我们使用。这个ScriptingContext包括了全部的ASP方法和属性,这使得我们有能力访问所有ASP的对象。

Public Sub OnStartPage (PassedScriptingContext As ScriptingContext)
Set WenScriptingContext = PassedScriptingContext
Set WenApplication = WenScriptingContext.Application
Set WenRequest = WenScriptingContext.Request
Set WenResponse = WenScriptingContext.Response
Set WenServer = WenScriptingContext.Server
Set WenSession = WenScriptingContext.Session
End Sub

我们既然用OnStartPage函数来创建对象,那么我们这里就用OnEndPage子函数来释放对象:

Public Sub OnEndPage()
Set WenScriptingContext = Nothing
Set WenApplication = Nothing
Set WenRequest = Nothing
Set WenResponse = Nothing
Set WenServer = Nothing
Set WenSession = Nothing
End Sub

接下来定义两个函数RsResult()和DataSource():

Public Function Rs(strsql As String) As Recordset
Dim oConn As Connection
Dim oRs As Recordset
Dim strconnstring As String
strconnstring = "driver={sql server};server=ServerName;uid=sa;pwd=;" & _
"database=DataBaseName"
oConn.Open strconnstring
oRs.ActiveConnection = oConn
strsql="Select * From tableName"
oRs.Open strsql, oConn, 1, 3
Set Rs = oRs
End Function 

Public Function DataSourceConnection() As Variant
DataSourceConnection = "driver={sql server};server=ServerName;uid=sa;pwd=;database=DataBaseName"
End Function

三、 存工程名为WenADODB.vbp和保存类名为WenConnection.cls,然后点击“文件”—>“生成WenADODB.DLL”编译成动态连接库文件。VB在编译好动态连接库文件的同时也将该组件注册到注册表里了,要是想在另外一台机器上注册该组件的话,请用以下指令注册或反注册:

Regsvr32 x:\路径\WenADODB.dll x:\路径\为WenADODB.dll文件存放的盘符和路径

Regsvr32 /u x:\路径\WenADODB.dll 参数U为反注册

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

猜你喜欢

  • python并发爬虫实用工具tomorrow实用解析

    2023-03-18 02:29:07
  • python 多线程爬取壁纸网站的示例

    2023-11-14 21:45:30
  • python实现Dijkstra静态寻路算法

    2021-06-10 07:41:09
  • Python抓包并解析json爬虫的完整实例代码

    2021-12-17 14:54:32
  • 简单了解Python中的几种函数

    2023-09-30 06:11:55
  • mysql split函数用逗号分隔的实现

    2024-01-19 12:46:40
  • 浅谈oracle SCN机制

    2024-01-19 18:23:49
  • Jquery中Ajax 缓存带来的影响的解决方法

    2011-05-21 16:14:00
  • 在Linux下搭建Git服务器的方法详解

    2022-02-05 16:35:10
  • 详解Python3之数据指纹MD5校验与对比

    2023-01-01 03:56:53
  • asp网上考试设计思路是怎样的?

    2010-07-14 21:09:00
  • 浅谈对pytroch中torch.autograd.backward的思考

    2023-10-28 13:21:44
  • 浅析pandas随机排列与随机抽样

    2022-03-29 21:19:00
  • Python中的数学运算操作符使用进阶

    2021-05-24 16:05:46
  • Python 玩转图像格式转换操作

    2022-03-25 23:14:52
  • 三种SQL分页查询的存储过程代码

    2012-01-05 19:31:32
  • python 实现简单的FTP程序

    2021-03-29 10:33:00
  • python使用matplotlib绘制图片时x轴的刻度处理

    2022-05-05 01:38:56
  • 深入了解Python 方法之类方法 & 静态方法

    2023-07-27 04:15:37
  • pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)

    2021-09-26 04:05:50
  • asp之家 网络编程 m.aspxhome.com