结束ADOVB.INC的办法
2008-02-23 09:41:27来源:互联网 阅读 ()
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的支持
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash