结束ADOVB.INC的办法

 我在国外看到一篇文章,现转译如下。。。的确很有帮助 
   
  ASP的一个缺点是当我们在使用一个组件的时候,并不是拿来就可以用了比如你要使用ADO的时候,你得先包含ADOVBS.INC文件或者做类似的工作,看下面的代码: 
   
  <!--#include virtual="/adovbs.inc"--> 
  <% 
   Dim objConn, strSQL 
   Set objConn = Server.CreateObject("ADODB.Connection") 
   objConn.Open "DSN=Blah" 
   
   strSQL = "Select * FROM Table1" 
   
   Dim objRS 
   Set objRS = Server.CreateObject("ADODB.Recordset") 
   objRS.Open strSQL, objConn, adOpenKeyset 
   
   '... 
  %> 
   
  现在让我们换个别的方法试试看 
  用METADATA标签 
   
  该标签的格式如下: 
  <!--METADATA 
   TYPE="typelib" 
   FILE="FileName" 
   UUID="TyleLibraryUUID" 
  --> 
   
  首先,你需要set TYPE="typelib",其中FILE和UUID两个只需要指定一个就可以了 
  您可以直接指定TLB或者DLL文件给FILE属性。 
  打个比方,在我的机器上,我是这样做的: 
   
  <!-- METADATA 
   TYPE="typelib" 
   UUID="00000200-0000-0010-8000-00AA006D2EA4" 
  --> 
   
  和 
   
  <!-- METADATA 
   TYPE="typelib" 
   FILE="C:\Program Files\Common Files\System\ADO\msado20.tlb" 
  --> 
   
  现在让我们看一下怎么替换ADOVBS.INC文件 
  在原来包含该文件的位置替换成如下代码: 
  <!-- METADATA 
   TYPE="typelib" 
   FILE="C:\Program Files\Common Files\System\ADO\msado20.tlb" 
  --> 
   
  <% 
   Dim objConn, strSQL 
   Set objConn = Server.CreateObject("ADODB.Connection") 
   objConn.Open "DSN=Blah" 
   
   strSQL = "Select * FROM Table1" 
   
   Dim objRS 
   Set objRS = Server.CreateObject("ADODB.Recordset") 
   objRS.Open strSQL, objConn, adOpenKeyset 
   
   '... 
  %> 
   
   
  但是,我原来在原来的页面使用ADOVBS。INC好好的,为什么要使用这么长的一窜代码呢,太麻烦了,是的,是有点麻烦,但是您可以把这段代码放在GLOBAL,ASA里,那样你可以用APPLICATION获得一个全局变量。 
  注意要放在<SCRIPT>块里面 
   
  让我们看看微软怎么说的,我只找到了一篇文章,该文章可概括如下: 
   
  "Avoid using server-side #include directives to include large lists of constants. Use the new <METADATA> tag to import type-library constants into global.asa" 
   
  这个是原文 
  http://msdn.microsoft.com/library/psdk/bdg/bdgapp03_3rhv.htm 
   
  两点要注意的地方,当您在GLOBAL。ASA里使用METADATA的时候,而您同时又使用ADOVBD。INC,您会得到一个错误。 
  其次是该方法至少需要IIS4的支持 


'引用自http://www.jscode.cn/arthtml/art4481.htm


文章来自: 本站原创
引用通告地址: http://www.is21.cn/trackback.asp?tbID=672
Tags:
评论: 0 | 引用: 0 | 查看次数: 1275
发表评论
你没有权限发表留言!