跳转到内容

活动服务器页面/附录 A:语言参考

来自维基教科书,开放的书籍,开放的世界
上一页:服务器端包含 索引  

活动服务器页面中使用的所有关键字和语句的参考。 项目按功能分组,并包含简短描述和使用示例。

这包含活动服务器页面中所有语言元素的快速参考。

数组函数

[编辑 | 编辑源代码]
语句 目的
数组 此函数创建一个数组实例。 此函数的参数是您希望看到数组包含的元素。 也可以完全没有参数。
aOption = Array("yes", "no", "unknown")
清除 清除数组所有元素的子例程。 如果元素是数字值,则它们将全部设置为零。 如果元素是字符串,则它们将全部变为空。
Erase(aYear)
筛选 有选择地包含或排除数组中的元素。 可选的第三个参数是一个布尔值,指示是否包含项目。
Filter(aArray, "remove", False)
连接 通过连接数组中的所有元素来构建一个字符串。 在每个元素之间插入一个“粘合字符串”。
sCSV = Join(aArray, ",")
下界 返回数组的下界,表示数组可能使用的最小数组索引。 ASP 中的所有数组都从索引 **0** 开始,因此您不应该需要使用它。
nStart = LBound(aArray)
重新声明 在数组已声明后使用此方法重新设置数组的维度(或调整数组大小)。 如果使用 **Preserve** 关键字,则现有元素不会在该过程中被破坏。
ReDim Preserve aField(nCount + 10)
拆分 接受一个字符串参数,并通过将字符串“拆分”为多个元素来创建一个数组。 字符串根据作为第二个参数传递的“分隔符”进行拆分。
aName = Split("joe,bill,john", ",")
上界 返回数组的上界,表示最后一个可能的数组索引。 这通常用于获取数组的大小(这反过来可以用于 For...Next 循环以迭代元素)
nLast = UBound(aArray)

变量和过程声明

[编辑 | 编辑源代码]
语句 目的
常量 用于声明一个常量值(一个在程序执行过程中永远不会改变的值)
Const PI = 3.1415926
声明 用于在程序中声明一个变量。 变量可以声明为“全局”变量,这意味着它对整个脚本可用,也可以声明为局部变量(在过程内部)
Dim I, J, K
函数 用于在脚本中声明一个函数。 函数是一个应该返回值的程序,但这在活动服务器页面中没有强制执行。
 Function YearsOld(dBirthDate)
 	YearsOld = DateDiff("y", dBirthDate, Now())
 End Function
子例程 用于在脚本中声明一个子例程。 子例程不能返回值给调用者。 您不必在调用函数或子例程之前声明它们。
 Sub HelloWorld(sName)
 	Response.Write "Hello " & sName
 End Sub

控制流语句

[编辑 | 编辑源代码]
语句 目的
调用 调用一个过程(子例程或函数)。 如果用于调用一个函数,则返回值不能被赋值(如果您想使用返回值,请省略 **Call** 关键字)
 Call SayHello("Bill Gates")
 ' alternative way to call a subroutine (notice no parentheses necessary)
 SayHello "Bill Gates"
计算 计算动态构建的活动服务器页面代码。 换句话说,如果您构建了一个包含 ASP 代码的字符串(在运行时),则可以使用 **Eval** 执行该代码。
fArea = Eval("3.14159 * fRadius * fRadius")
执行 以编程方式执行 ASP 脚本。 允许您在运行时执行 ASP 页面。 执行此操作的大多数正常方法(例如使用服务器端包含)将处理脚本,无论它是否被使用。 对于 **Execute**,您可以有条件地处理 ASP 脚本。
 if (nThemeNo = 1) then
   Execute("/theme/fantasy/header.asp")
 Else
   Execute("/theme/modern/header.asp")
 End If
退出 用于中断函数、子例程或许多循环结构的执行。
 Exit Function
 Exit Sub
 Exit For
 Exit Do
 Exit While
选择情况 这允许您创建一个多分支条件结构,类似于一系列 **If Then ... Else If ... Else If ... Else ... End If**。
 Select Case nDayOfWeek
   Case vbSunday : Response.Write "Day of Rest"
   Case vbSaturday : Response.Write "Shopping Day"
   Case vbMonday : 
   Case vbThursday : Response.Write "Dance Class"
   Case Else : Response.Write "Work is Fun!"
 End Select

循环语句

[编辑 | 编辑源代码]
语句 目的
Do 循环 do 循环有两种不同的变体。 **Do While** 在条件为 _真_ 时重复一组语句,而 **Do Until** 在条件为 _假_ 时重复一组语句。 您可以使用 **Exit Do** 语句退出 **Do ... Loop** 语句。
Do While I < 0
  I = I + 1
Loop
Do Until rs.EOF
  rs.MoveNext
Loop
对于每个 在处理集合时,您可以使用此函数迭代每个项目。
For Each sKey In oHash.Keys
Next
对于下一个 迭代具有已知起始值和结束值以及可选增量值的数字序列。 您可以使用 **Exit For** 语句强制执行中断 **For ... Next** 循环。
For I = 1 To 10
  Response.Write " I = " & I
Next
For I = 10 To 1 Step -1
  Response.Write " I = " & I
Next
While 循环 在条件为真时重复一组语句。 您可以使用 **Exit While** 语句强制执行中断 **While** 循环。
While I < 10
  Response.Write "I = " & I & "&lt;br&gt;"
  I = I + 1
  If I = 6 Then Exit While
Wend

数学函数

[编辑 | 编辑源代码]
语句 目的
绝对值 计算表达式的绝对值(将负结果转换为正结果)
x = Abs(y)
反正切 三角函数,用于计算值的反正切
x = Atn(y)
余弦 三角函数,用于计算值的余弦
x = Cos(y)
指数 计算表达式 e ^ y 的值,其中 e 是一个常数,表示自然对数的底(也称为奈皮尔常数)。
x = Exp(y)
定点 将数字转换为整数。 负数被向上取整(而不是向下取整,这是 **Int** 的工作方式)。 因此,像 -5.99235 这样的数字将产生 -5 的值。
x = Fix(-5.66663)
整数 将数值转换为整数值。 它实际上与“Floor”函数的作用相同,因为它截断了数字的小数部分(不执行任何舍入)。
x = Int(y)
对数 计算数字的自然对数。 这在数学中通常表示为 ln(y)
x = Log(y)
计算两个数字的模(或余数)。 这就像 **+** 或 **/** 一样,是一个布尔运算符。 10 Mod 3 的结果是 1,因为 3 最多能进入 10 次,剩下 1(3 * 3 = 9,10 - 9 = 1)
nRem = 10 Mod 3
随机化 对随机数生成器进行播种。 不返回值,而是准备脚本通过 **Rnd** 函数产生真正的随机数。
Randomize
随机数 一个函数,它返回一个大于或等于零且小于 1 的随机数。 您应该始终在调用此函数之前调用 **Randomize**。
x = Int(Rnd() * 100)
舍入 一个将数字四舍五入到最接近的整数的函数。如果数字的小数部分小于 0.5,则数字将向下舍入,否则数字将向上舍入。
x = Round(3.5)
Sgn 执行符号函数,该函数仅返回三个可能的值。如果参数为负数,则为 **-1**;如果数字为正数,则为 **1**;如果参数正好为零,则为 **0**。
x = Sgn(-245.444)
Sin 三角函数,返回正弦函数。参数是弧度表示的度数角度。
x = Sin(90)
Sqr 计算一个数的平方根。参数必须为大于或等于零的正数。
x = Sqr(16)
Tan 三角函数,计算一个值的正切。参数是弧度表示的度数角度。
x = Tan(1.331)

字符串函数

[编辑 | 编辑源代码]
语句 目的
Asc 返回一个字符的 ASCII 代码(由于 ASP 中没有字符子类型,因此为字符串的第一个字符)。
nAsciiH = Asc("Hello")
AscB 返回二进制数据序列的第一个字节。二进制数据通常用于操作文件。
nByte = AscB(sInput)
AscW 返回字符串中第一个字符的 32 位宽(Unicode)字符代码。
nAsciiH = AscW("Hello")
Chr 基于 ASCII 代码参数构建单个字符串(字符)。这是构建包含不可打印字符的字符串的方法。ASP 包含许多内置常量,也用于此目的(例如 **vbCr**、**vbLf** 甚至 **vbCrLf**)。
sStr = "Hello World!" & Chr(13) & Chr(10)
FormatCurrency 根据区域设置将数字值格式化为货币。可选的第二个参数表示小数点后的位数。在美国,默认值为两位。
 sGasPrice = FormatCurrency(3.00)
 sNatlDebt = FormatCurrency(9065368997351, 0)
FormatNumber 根据服务器的区域设置格式化数字值。它可能会插入数字分隔符(例如 3,932 中的逗号)或用零填充数字。可选的第二个参数表示小数点后显示的位数。
 sPopulation = FormatNumber(9065368997351)
 sPI = FormatNumber(3.1415926, 4)
FormatPercent 将数字格式化为百分比值。实际上,它将 **0** 到 **1** 之间的概率数字转换为 **0%** 到 **100%** 之间的百分比。可选的第二个参数表示小数点后显示的位数。
 nPct = FormatPercent(0.5442)
 nPct2 = FormatPercent(0.5442542, 3)
InStr 在另一个字符串中查找一个字符串的第一个出现位置。默认情况下,搜索将进行区分大小写的比较。第一个参数是开始搜索的字符索引。第二个参数是要搜索的文本(干草堆),第三个参数是你要查找的内容(针)。可选的第四个参数允许你指定比较类型(例如 **vbTextCompare** 或 **vbBinaryCompare**)。
nBeginPos = InStr(1, sText, "Begin", vbTextCompare)
InStrRev 从字符串的末尾开始,向左搜索,查找一个字符串在另一个字符串中的第一个出现位置。与 **InStr** 不同,开始搜索的可选位置是第三个参数(而不是第一个参数)。可选的第四个参数允许你指定比较类型(例如 **vbTextCompare** 或 **vbBinaryCompare**)。
 nScriptPos = InStrRev(sURL, "/")
 nProtocolPos = InStrRev(sURL, "http://", 100, vbTextCompare)
LCase 将字符串中的所有字母字符转换为小写。
sUsername = LCase("WaCkYcAsEuSeR")
Left 返回从基础字符串左侧(第一个字符)开始的子字符串。
sFirst = Left(sFullName, 10)
Len 给定一个字符串作为参数,返回字符串的字符长度。
nLen = Len("ASP")
LTrim 修剪字符串左侧存在的任何空格。因此,如果你给函数传递一个 " Hi! " 的参数,它将返回 "Hi! " 的值。
sFirst = LTrim("   Will")
Mid 从字符串中获取子字符串。第一个参数是从中提取子字符串的基础字符串。第二个参数表示开始的字符索引。最后一个参数表示要提取的字符数。你可以省略最后一个参数,以检索直到字符串末尾的所有字符。
 sMiddle = Mid(sFullname, nMidStart, nMidEnd - nMidStart + 1)
 sLast = Mid(sFullName, nLastStart)
Replace 在基础字符串(参数 1)中将搜索字符串(参数 2)的所有出现位置替换为替换字符串(参数 3),并将其返回。
sEscape = Replace(sSQL, "'", "''")
Right 返回从基础字符串右侧(最后一个字符)开始的子字符串。
sLast = Right(sFullName, 13)
RTrim 修剪字符串右侧存在的任何空格。因此,如果你给函数传递一个 " Hi! " 的参数,它将返回 " Hi!" 的值。
sClean = RTrim("  Hi!  ")
Space 构建一个包含重复空格数的字符串。当以 HTML 格式显示时,浏览器会压缩所有空格,除非文本是预格式化的(在 **<PRE>...</PRE>** 块中)或内容以纯文本格式提供。
Response.Write Space(30 - Len(sFirst)) & sFirst
StrComp 比较两个字符串,查看它们是否相等。你可以执行二进制(区分大小写)比较(默认值),或者通过将可选的第三个参数传递为 **vbTextCompare** 来执行文本(不区分大小写)比较。
if (StrComp(sFirst1, sFirst2, vbTextCompare)) Then Response.Write "EQUAL!"
String 通过将指定的字符重复一定次数来创建字符串。第一个参数是重复次数,第二个参数是要重复的字符串(字符)。
 sLine = String(80, "-")
 sDblLine = String(80, "=")
StrReverse 取一个字符串,并反转字符的顺序。换句话说,给定一个像 "012345789" 这样的字符串,这个函数将返回 "9876543210"。
sReverse = StrReverse("0123456789")
Trim 修剪字符串右侧或左侧存在的任何空格。因此,如果你给函数传递一个 " Hi! " 的参数,它将返回 "Hi!" 的值。
sClean = Trim("  Hi!  ")
UCase 将字符串中的所有字母字符转换为大写。
sUsername = UCase("WaCkYcAsEuSeR")

逻辑语句

[编辑 | 编辑源代码]
语句 目的
And 逻辑 "AND" 操作。只有当两个表达式都计算为 true 时,结果才为 true,否则结果为 false。
If nScore > 80 And nScore < 90 Then sGrade = "B"
Eqv 测试一对布尔表达式,当两个表达式都计算出相同的结果(两者都为 true 或两者都为 false)时,仅返回 true。
If nScore > 60 Eqv False Then
If Then 这将计算一个表达式(导致一个布尔 true 或 false),并根据结果条件执行 ASP 代码。
 ' example of a single-line If...Then
 If nScore < 60 Then sGrade = "F"

 ' example of a multi-line If.. Then
 If nScore < 60 Then
   Response.Write "Sorry, You Failed"
 Else
   Response.Write "Congratulations, You Passed"
 End If
Imp "蕴含" 运算符用于确定 A 是否蕴含 B。结果始终为 true,除非 A 为 true 且 B 为 false。
If bCondA Imp bCondB Then Response.Write "It Implies"
Is 将 **is** 运算符用于包含对象的变量,以测试一个对象是否与另一个对象相同(引用同一个实例)。你也可以使用 **is** 来查看对象变量是否设置为 null。
If oFile is nothing Then Response.Write "Nothing"
IsArray 此函数确定变量是否包含数组。如果包含,则返回 true,否则返回 false。
If IsArray(aVar) Then nCount = UBound(aVar) + 1
IsDate 测试表达式是否包含有效的日期(作为字符串,可以使用 **CDate** 转换为日期,或者作为日期子类型)。
If IsDate(dBirth) Then sBirthDay = FormatDateTime(dBirth)
IsEmpty 检查变量(或表达式)是否包含空值。空值是已声明但从未赋值的变量的默认值。
If IsEmpty(sVar) Then Response.Write "You forgot to define the variable ""sVar"""
IsNull 检查变量或表达式是否计算为 null。这对于使用 **ADODB** 组件检索的数据库值特别有用。
If IsNull(rs.Fields("lastname").value) Then bError = True
IsNumeric 检查变量或表达式是否包含数值,或者可以使用 **CLng**、**CInt**、**CFlt** 或 **CDbl** 转换为数值。
If IsNumeric(sAmount) Then nAmount = CInt(sAmount)
IsObject 测试变量或表达式是否引用有效对象。可以通过调用 **Server.CreatObject** 方法来创建对象。
If IsObject(oFile) Then oFile.Close
Not 对布尔表达式执行否定操作。提供布尔 true 或 false 的相反结果。
bSad = Not bHappy
Or 布尔 "或" 操作接受两个参数,它们必须是布尔表达式。如果两个表达式中的任何一个计算为 true,则返回 true,否则返回 false。
 If bLovesSchool Or bLovesBoooks Then bIsSmart = true
 bIsSmart = (bLovesSchool Or bLovesBoooks)
Xor 异或运算符仅当布尔表达式参数中只有一个为 true 时才返回 true。当两个参数都为 false 或两个参数都为 true 时,返回 false。
 If (bLikesYankees Xor bLikesMets) Then bIsRealPerson = true
 bGiveCake = (bJoeWantsCake Xor bJuneWantsCake)

日期和时间函数

[编辑 | 编辑源代码]
语句 目的
Date 返回根据本地系统时钟的日期。不返回任何时间信息,只返回日期。
dToday = Date()
DateAdd 向提供的日期添加特定数量的时间单位。
dTomorrow = DateAdd("d", 1, Now())
DateDiff 计算两个日期参数之间的时间单位数。
Response.Write "Hours = " & DateDiff("h", dTomorrow, Now())
DatePart 提取日期时间表达式的特定部分并将其返回。第一个参数可以是 "d"()、"m"()、"yyyy"()、"q"(季度)、"w"(星期)、"ww"(一年中的星期)、"h"(小时)、"n"(分钟)或 "s"()。
nDay = DatePart("d", Now())
DateSerial 从其各个组件构造一个日期值。组件是年(参数 1)、月(参数 2)和日(参数 3)。
dChristmas = DateSerial(2008, 12, 25)
DateValue 尝试将包含日期值的字符串转换为子类型为日期的变量。如果日期格式不正确,脚本将失败并出现错误。
dChristmas = DateValue("12/25/2008")
Day 提取日期表达式的部分。DatePart("d", dDate) 的快捷方式。
Response.Write "Christmas is on day " & Day(dChristmas)
FormatDateTime 将日期时间表达式格式化为人类可读的格式。格式说明符(参数 2)可以是以下之一:vbGeneralDatevbLongDatevbShortDatevbLongTimevbShortTime
sModified = FormatDateTime(dModified, vbGeneralDate)
Hour 提取日期表达式的小时部分。DatePart("h", dDate) 的快捷方式。
nHour = Hour(dChristmas)
Minute 提取日期表达式的分钟部分。DatePart("n", dDate) 的快捷方式。
nMinute = Minute(dDate)
Month 提取日期表达式的部分。DatePart("m", dDate) 的快捷方式。
nMonth = Month(dDate)
MonthName 返回与月份编号(1 到 12)相对应的月份名称。第二个参数是一个可选的布尔值,表示月份名称是否应该缩写(true)或不缩写(false)。
 sMonth = MonthName(Month(dDate))
 sMonth2 = MonthName(DateValue("12/25/2008"), true)
Now 返回与当前服务器时间相对应的日期时间值。
Response.Write "Today is: " & Now()
Second 提取日期表达式的部分。DatePart("s", dDate) 的快捷方式。
nSecond = Second(Now())
Time 使用当前服务器时间返回时间值。日期不包含在此值中(为此,你应该使用 **Now**)。
Response.Write "Time Right Now: " & Time()
Timer 返回一个浮点值,其中整数部分表示完整秒数(自 1970 年 1 月 1 日起),小数部分表示毫秒数。
 fStart = Timer()
 ' do some work here
 fEnd = Timer()
 fElapsed = fEnd - fStart
TimeSerial 使用提供的参数构造一个子类型为时间的变量。参数是:小时分钟
dTime = TimeSerial(23, 59, 0)
TimeValue 尝试将字符串(表示有效的时值)转换为子类型为时间的变量。如果字符串格式不正确(且无法转换),则会引发异常。
dTime = TimeValue("23:59:00")
星期几 提取日期时间表达式的星期几(作为整数)。一周的第一天是星期日,返回1。一周的最后一天是星期六,返回7
nWeekday = Weekday(DateValue("12/25/2008"))
WeekdayName 提取日期时间表达式的星期几(作为字符串)。
sWeekday = WeekdayName(DateValue("12/25/2008"))
提取日期或日期时间表达式的部分。这是DatePart("yyyy", dDate)的快捷方式。
nYear = Year(dChristmas)

数据类型转换

[编辑 | 编辑源代码]

ASP 中的每个变量都是一个变体(这意味着语言不是强类型),因此当我们谈论类型转换时,我们指的是变体值的子类型。

语句 目的
CBool 将变量转换为布尔类型(只能保存truefalse)。
bDone = CBool("true")
CByte 将变量转换为字节类型(整数,从 0 到 255)。
bByte = CByte("127")
CCur 将变量转换为货币类型。这就像一个小数,因为会格外注意以确保舍入时不会丢失任何东西)。
fMoney = CCur(Request.Form("LoanAmount"))
CDate 将变量转换为日期时间值。表达式可以是日期时间日期时间表达式。
dBirthday = CDate(Request.Form("BirthDay"))
CDbl 将变量转换为双精度浮点数类型。这是一个双精度浮点数。
dVal = CDbl("23.3452e+04")
CInt 将变量转换为整数类型。整数是一个 2 字节带符号值,限制在 -32,768 到 32,767 之间。请注意,CInt() 执行“银行家舍入” - 它不会截断小数部分。使用 Int() 将变量截断为整数。
nIntVal = CInt(Request.Form("SATScore"))
CLng 将变量转换为长整数类型。长整数是一个 4 字节带符号值,限制在 -2,147,483,648 到 2,147,483,647 之间。请注意,CLng() 执行“银行家舍入” - 它不会截断小数部分。
nLngVal = CLng(Request.Form("SerialNo"))
CSng 将变量转换为浮点数(基本上是浮点数),也称为单精度浮点数。正数限制在 1.401298E-45 到 3.402823E+38 之间,负数限制在 -3.402823E+38 到 -1.401298E-45 之间。
fTemp = CSng(Request.Form("Temperature")
CStr 将变量转换为字符串值。当比较两个值(其中一个是不同的类型)时,这通常是必要的。
if (CStr(nAge) = Request.Form("Age")) Then Response.Write "You're " & nAge
Hex 将整数转换为十六进制等效值。十六进制是“以 16 为基数”的数字,数字范围从09AF。十六进制数字限制为四字节值,因此将-1的值转换为FFFF
sEnc = Hex(Asc("%"))
Oct 将整数转换为八进制等效值。八进制数是“以 8 为基数”的数字,这意味着数字范围从07
sOct = Oct(123)

面向对象编程

[编辑 | 编辑源代码]
语句 目的
通过将类包含在Class ... End Class之间来声明类的新的实例。类中可能包含成员变量定义、方法定义和属性定义。
 Class Month
  Private String sName
  Private String nDays
 	
  ' constructor
  Sub Class_Initialize()
    sName = "Unknown"
  End Sub
  
  ' Abbreviation method
   Public Function Abbreviation
     Abbreviation = Left(sName, 3)
   End Function
  
   ' retrieve the number of days
   Property Get Days
     Days = nDays
   End Property
  
   ' assign the name for this month
   Property Let Name
     sName = Name
   End Property
 End Class
使用此语句声明类的新的实例。内置类RegExp可用于声明正则表达式对象的实例。在实例化新对象时,必须使用Set语句。
 Set oRE = New RegExp
 oRE.Pattern = "\w+"
私有 这是一个访问修饰符,可能出现在成员变量、方法或属性之前。任何标记为私有的实体只能在类定义本身内访问。
Private String sName
公共 此访问修饰符使实体变为公共。因此,可以使用“点表示法”从类的实例访问公共变量。方法和属性也是如此。请注意,Public是默认的访问修饰符,您不必在所有实体上都包含访问修饰符。
Public Function Abbreviation
属性获取 属性获取语句允许您为您的类声明只读属性。这类似于函数,因为它返回值。如果您尝试使用此属性进行赋值(oMonth.Days = 31),解析器将抛出异常。
Property Get Days
属性设值 使用此属性定义来定义赋值器方法。这使您可以将值分配给类属性。赋值器方法的实现方式由您决定,但它通常会修改一个成员变量。
Property Let Name
属性设置 如果您需要定义分配对象值的属性,则应定义属性设置方法。要定义检索对象值的属性,您只需使用属性获取即可。
 Property Set RegularExp
 
 Set oRE = New RegExp
 Set oMonth.RegularExp = oRE
设置 将对象的实例分配给变量。
Set oRE = New RegExp
TypeName 使用此函数以字符串形式检索对象的类型。当与常规变量一起使用时,它返回子类型(“日期”、“双精度”、“整数”、“字符串”、“布尔”等)。
 ' another built-in object - Dictionary COM+ object
 Set oHash = Server.CreateObject("Scripting.Dictionary")
 ' this will return the string "Dictionary"
 Response.Write "Hash Type = " & TypeName(oHash)
使用 使用语句将为您节省一些输入,并允许您通过使用类似.Write的表示法重复访问对象的单个实例来重复访问Response对象。因此,您可以使用Response.Write,而无需重复输入,您可以执行以下操作
 With Response
   .Write x
   .Write " x "
   .Write y
   .Write " = "
   .Write z
 End With
语句 目的
' 行注释,它注释掉直到行末(或脚本块的末尾,以先到者为准)的所有文本。
' This procedure does something
Rem 在 Visual Basic 中创建注释的旧方法。我认为这只是为了向后兼容而保留的语言的一部分。它与单引号 (') 具有相同的作用,这意味着它执行行注释(注释掉直到行末的所有文本)。
Rem This procedure does something

错误处理

[编辑 | 编辑源代码]
语句 目的
On Error On Error语句用于捕获错误,从而防止引发异常。On Error必须以On Error Goto 0终止,以停止错误捕获。
' trap all division error (overflow or divide-by-zero)
On Error Resume Next
f = x / y
If Err.Number <> 0 Then
   sError = Err.Number & " - " & Err.Description
End If
On Error Goto 0

内置文字

[编辑 | 编辑源代码]
语句 目的
变量在被分配值之前的默认值。您永远不会将此值显式分配给变量,但您可以使用IsEmpty测试其是否存在。
IsEmpty(sFullname)
具有否定含义的布尔值。类似于“否”。
bIsCool = false
对象变量可以设置为的特殊值。用于清除对象变量。
Set oFile = nothing
空值用于指示变量不包含有效数据。主要用于访问数据库字段的值时。
If IsNull(rs.Fields("firstname").Value) Then ...
具有肯定(或肯定)含义的布尔值。类似于“是”。
bIsFun = true
上一页:服务器端包含 索引  
华夏公益教科书