当前位置: 首页 > 图文教程 > 网络编程 > ASP > 为你的ASP程序制作一个编译组件(中)

ASP
ASP技巧:在Access数据库中重命名表
用ASP编程实现网络内容快速查找
比较ASP生成静态HTML文件的几种方法
ASP实例:实现邮件发送普通附件和嵌入附件
如何用ASP实现去掉三个最高分和三个最低分
ASP实例:Access为后台数据库的网站统计系统
用标签替换的方法生成静态网页
例程:用ASP判断文件地址是否有效
学ASp动态网页必备:常用的38个函数
ASP教程:初次接触学习ASP脚本程序
ASPJPEG水印中关于文字水印的帮助文档(中英文对照)
ASP例子:ASP把汉字转化为拼音的函数
ASP教程:学习ASP应用Cookies的技巧
ASP入门:认识ASP程序所使用的几种脚本语言
初学者的ASP教程:常用ASP内置函数
ASP初级教程之ASP对表单和用户输入的处理
学习ASP文件引用的方法
用ASP编写更人性化的弹出窗口程序
谈谈学习ASP动态网页制作技术的编程心得
用ASP程序实现网站在线人数统计

为你的ASP程序制作一个编译组件(中)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 48 ::
收藏到网摘: n/a

  下一步是将VBScript对象中的所有代码拷贝出来并粘贴到新工程向导所显示的类窗口中去.只要拷贝从"class DBConnection"到"end class"之间的代码.在粘贴完代码以后,在属性窗口中将类的名字改成DBConnection,如图C所示.


同时将MTSTransactionMode改成3(使用事务处理过程).我们没有必要为这个对象添加任何为支持事务处理(transaction)过程特别编写的代码,但我们最好应该申明你的对象将支持事务处理.现在,在你的硬盘上保存你的工程和类.我觉得使用这些名字将减少混淆,但是如果你的口味和我不同,你也可以更改这些文件的名字. 

因为这个对象使用ADODB,所以下一步是在工程中添加对那个库的引用.选择"工程"菜单并选择"引用...".随后显示的对话框将显示一个你的计算机上可用的库文件的列表,如图D所示.浏览这个列表然后选择Microsoft ActiveX Data Objects 2.5 Library 复选框.我的系统上装了SQL 2000,但是如果你没有2.5版本,你可以选择你的系统上最近的版本.这个组件没有使用任何刚发布的功能,所以大多数Active Data Objects的版本能够正常工作. 

图D

代码修改
到目前为止,我们已经成功的将DBConnection 类的代码转移到了Visual Basic里面.对大部分地方来说,这个代码是完整的.除了类的构造函数中对ASP Application对象的引用和Server.CreateObject那一行以外,这个代码就可以编译了.为了保证一个编译良好的对象,一点点代码上的修改是必要的. 

首先,在代码窗口的顶部添加"Option Explicit"这一行以便当变量在它们被申明以前就使用的时候系统产生一个错误警告.同样,将对mConnectionString的维数申明移到Option Explicit申明下面.然后,如图B所示那样将Class_Initialize()过程改变一下.这个代码只是简单的将连接字符串代码直接移动到了对象内部.这增加了一点点安全性,因为一个编译后的对象能够连到数据库而不会向开发者或未授权的用户暴露实际的连接字符串. 

Listing B
Private Sub Class_Initialize()
   mConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
      & "Data Source=c:\temp\Music Collection.mdb;"
End Sub

为了确保你的组件不会暴露连接字符串,可以将Public Property GetConnectionString()代码从类中去掉.这能让ConnectionString属性变得只读,这就使得用户能够使用这个类来访问其他的数据源,但是它又阻止了这个属性被读取出来,于是用户就无法看见连接字符串了. 

你还可以去掉Class_Terminate()过程,因为它并不包含任何代码.可以用一个查找替换过程,"Server.CreateObject"作为查找文本而"CreateObject"作为替换文本来替换掉它们.这使得所有对象的创建过程对Visual Basic兼容.到这个时候你应该保存工程然后,仅仅是出于测试的目的,从文件菜单中选择创建DBUtil.dll编译这个dll.这个组件应该能够编译成功,虽然不做进一步的修改它就不能正常运行. 

余下的修改工作数不胜数但是简单.因为Visual Basic的类型检查比VBScript更强,你应该对类中的所有函数和变量做出类型限定.这个工作不会要多长时间却能帮助生成一个更高效的代码.列表C展示了完成的类.