网络编程
位置:首页>> 网络编程>> Asp编程>> 用VB生成DLL封装ASP代码一个例子:连接access数据库等(2)

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

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

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

下面就是调用封装的连接数据库的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为反注册

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com