为什么以下工作在VBScript(经典ASP)
中Dim y: y = rs("file_description")
Dim x: x = (instr(y, "Internal Server Error") <> 0 or instr(y, "Server Unavailable") <> 0) AND instr(y, "RetryCount=9") = 0
但不起作用。它停止执行(没有错误号或描述!)
dim x: x = (instr(rs("file_description"), "Internal Server Error") <> 0 or instr(rs("file_description"), "Server Unavailable") <> 0) AND instr(rs("file_description"), "RetryCount=9") = 0
奇怪的是,简单地将rs("file_description")
表达式提取到变量中会导致代码生效。
我不明白为什么。
答案 0 :(得分:1)
rs("file_description")
可以表示字段对象或其默认属性.Value。 VBScript根据上下文选择一个或另一个。因为
y = rs("file_description")
不使用Set
,y将包含.Value。为了明确第二个方法,请使用
x = (instr(rs("file_description").Value, ...