3 回答
TA贡献1827条经验 获得超9个赞
“常量”是用来取代数值或字符串的名称。随 ASP 提供的部分基本组件,如 ActiveX 数据对象 (ADO),定义了可在脚本中使用的常量。组件可以在“组件类型库”中声明常量,组件类型库是一个包含 COM 组件支持的对象和类型的信息的文件。一旦在 .asp 文件中声明了类型库,就可以在同一 .asp 文件的所有脚本中使用已定义的常量。类似地,可以在 Global.asa 文件中声明类型库,以便在应用程序的所有 .asp 文件中使用已定义的常量。
要声明类型库,可以在 .asp 文件或 Global.asa 文件中使用 <METADATA> 标签。例如,要声明 ADO 类型库,可使用下面的语句:
<!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}"-->
或者,如果不参考类型库的通用唯一标识符 (UUID),也可通过文件路径参考类型库:
<!-- METADATA TYPE="typelib" FILE="c:\program files\common files\system\ado\msado15.dll"-->
然后即可在 .asp 文件中使用 ADO 常量,该文件声明了类型库或者驻留在包含 Global.asa 文件(声明了 ADO 类型库)的应用程序中。在下面的例子中,adOpenKeyset 和 adLockOptimistic 是 ADO 常量:
<%
'创建和打开 Recordset 对象。
Set rstCustomerList = Server.CreateObject("ADODB.Recordset")
rstCustomerList.ActiveConnection = cnnPubs
rstCustomerList.CursorType = adOpenKeyset
rstCustomerList.LockType = adLockOptimistic
%>
下表列出了常用的类型库和 UUID:
类型库 UUID
Microsoft ActiveX Data Objects 2.5 Library {00000205-0000-0010-8000-00AA006D2EA4}
Microsoft CDO 1.2 Library for Windows 2000 Server {0E064ADD-9D99-11D0-ABE5-00AA0064D470}
MSWC Advertisement Rotator Object Library {090ACFA1-1580-11D1-8AC0-00C0F00910F9}
MSWC IIS Log Object Library {B758F2F9-A3D6-11D1-8B9C-080009DCC2FA}
关于 <METADATA> 标签的参考信息,请参阅 TypeLibrary 声明。
在以前版本的 ASP 中,部分组件提供在文件中常量定义,这些文件必须包含在使用这些常量的所有 ASP 文件中。虽然仍可以通过 #include 命令包含常量定义,但使用类型库更方便,也更容易升级脚本。在未来的 ASP 版本中,组件可能不提供常量定义文件。
注意 使用 <METADATA> 标签(而不是“#include”命令)可以提高 Web 应用程序的性能。
可以定义自己的常量。在 VBScript 中,使用“Const”语句。在 JScript 中,可以使用“var”语句将常量值赋给变量。如果要在多个 .asp 文件中使用常量,则需要将定义放在单独文件中,并在所有使用该常量的 .asp 文件中包含这些定义。
添加回答
举报