用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为反注册


猜你喜欢
- 看代码吧~# 加载库import pandas as pd# 데이터프레임을 만듭니다.dataframe = pd.DataFrame()
- 强化功能本文针对中大型的后台项目的接口模块优化,在不影响项目正常运行的前提下,增量更新。接口文件写法简化(接口模块半自动化生成)任务调度、L
- 我们通过单体模式理解了是以对象字面量的方式来创建单体模式的;比如如下的对象字面量的方式代码如下:var singleMode = { &nb
- 一 引入解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个
- 废话不多说了,直接把我写的timeit函数分享给大家,具体内容如下:/** * Compute the delay to execute a
- Java的idea在更新2020.1时就更新了官方汉化,当时Pycharm还没用出现汉化,但这两天提示我更新2020.1.1的时候,我发现p
- 下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢?Py
- JS是一段一段执行的(以<script>标签来分割),执行每一段之前,都有一个“预编译”,预编译干的活是:声明所有var变量(初
- 一、这种布局的优点项目中的每个应用都相对独立,方便以后拿出来重用。这样的布局会促使你在开发过程中考虑每个应用的重用性。开发、测试、生产等不同
- 本文实例讲述了Python设计模式之观察者模式。分享给大家供大家参考,具体如下:观察者模式是一个软件设计模式,一个主题对象包涵一系列依赖他的
- 如何查看cpu的核数代码: from multiprocessing import cpu_count print(&q
- 去年中秋开始,小编一直在忙旅游公司的30多个网站,在网站项目中,网站客服需要在网站中添加某个客服交谈工具代码,还需要对PC和手机添加不一样的
- 1.首先肯定是要安装Node.JSwindows cmd依次输入如下命令:cd C:\Program Files\nodejs\npm in
- 导入相关包import timeimport pydashimport base64import requestsfrom lxml imp
- 介绍Prometheus 的基本原理是通过 HTTP 周期性抓取被监控组件的状态。任意组件只要提供对应的 HTTP 接口并且符合 Prome
- 1、简介本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,
- 传统来说,大家在CSS中使用的颜色要么是16进制格式,要么是rgb格式,就像rgb(171,205,239)。CSS3带来了一些新的处理颜色
- Django在做后台系统过程中,我们通常都会为view函数添加 @login_required 装饰器,这个装饰器的主要作用就是在用户访问这
- 一、隔离级别的概念为什么要考虑隔离级别?因为事务要并发执行,而并发执行可能会出现一些问题:脏读、不可重复读和虚读,有的是允许出现的,有的不允
- 微信小程序报错VM1305:1 thirdScriptErrorCannot read property 'name' of