日期:2008-09-21  浏览次数:20919 次

四、是否应该通过包含引用ADOVBS.inc?

   Microsoft提供的ADOVBS.inc包含了270行代码,这些代码定义了大多数的ADO属性常量。我们这个示例只从ADOVBS.inc引用了2个常量。因此本次测试(ADO__02.ASP)中我们删除了包含文件引用,设置属性时直接使用相应的数值。


objRS.CursorType = 0     ' adOpenForwardOnly
objRS.LockType = 1       ' adLockReadOnly


   可以看到页面开销下降了23%。该值并不影响单个记录的提取和显示时间,因为这里的变化不会影响循环内的记录集操作。有多种方法可以解决ADOVBS.inc的引用问题。我们建议将ADOVBS.inc文件作为参考,设置时通过注释加以说明。请记住,正如第一部分所指出的,适度地运用注释对代码的效率影响极小。另外一种方法是将那些需要用到的常量从ADOVBS.inc文件拷贝到页面内。

   还有一个解决该问题的好方法,这就是通过链接ADO类型库使得所有的ADO常量直接可用。把下面的代码加入Global.asa文件,即可直接访问所有的ADO常量:

< !--METADATA TYPE="typelib"
     FILE="C:Program FilesCommon FilesSYSTEMADOmsado15.dll"
     NAME="ADODB Type Library" -- >

或者:

< !--METADATA TYPE="typelib"
      UUID="00000205-0000-0010-8000-00AA006D2EA4"
      NAME="ADODB Type Library" -- >

   因此,我们的第一条规则为:

l    避免包含ADOVBS.inc文件,通过其他方法访问和使用ADO常量。