如何用METADATA替换ADOVBS.INC?
时间:2010-06-12 12:54:00
如何用METADATA替换ADOVBS.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
...
%>
再将以上代码放到GLOBAL.ASA文件里的<SCRIPT>块里面就可以了,我们还可以用APPLICATION来获得一个全局变量。但在GLOBAL.ASA里使用METADATA的时候,不能同时使用ADOVBD.INC,否则,会得到一个错误。