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

ASP
ASP下经常用的字符串等函数参考资料
asp下连接数据库 ASP链接数据库字符串大全总结
asp内置对象 ObjectContext 事务管理 详解
asp 内置对象 Application 详解
ASP中 SQL语句 使用方法
ASP 中 Split 函数的实例分析
ASP 中 DateDiff 函数详解 主要实现两日期加减操作
asp 存贮过程 (SQL版asp调用存储过程)
利用ASP实现在线生成电话图片效果脚本附演示
使用ASP记录在线用户的数量的代码
关于ASP生成伪参数技巧 简洁实用的伪(僞)参数
asp 关键词字符串分割如何实现方法
用ASP编写的加密和解密类
ASP之处理用Javascript动态添加的表单元素数据的代码
asp下最常用的19个基本技巧
一些Asp技巧和实用解决方法
asp实现一个统计当前在线用户的解决方案
asp下的一个很简单的验证码程序
asp又一个分页的代码例子
asp实现防止从外部提交数据的三种方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 231 ::
收藏到网摘: 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展示了完成的类.