类型不匹配:'[string:'“]'
当查询字符串没有值时,我收到以下错误。 (我的意思是像index.asp?ID =)。类型不匹配:'[string:'“]'
Microsoft VBScript运行时错误 '800a000d'
类型不匹配:[字符串: “”]“
的index.asp,行10
我试图NULL值转换为用别的东西以下代码。它不起作用。
MEMBERID = Request.QueryString("ID")
If MEMBERID = "" or MEMBERID = 0 Then
MEMBERID = Session("MEMBERID")
End If
OK,你得到QueryString中的参数ID并检查它是否为空或者是正确的?所以,你应该这样做:
MemberId = Request.QueryString("ID")
'*
'* Check for other than numbers just to be safe
'*
If (MemberId = "" Or Not IsNumeric(MemberId)) Then
MemberId = Session("MemberId")
End If
'*
'* We can't add this check on the above if because
'* in classic ASP, the expression is evaluated as a whole
'* which would generate an exception when converting to Int
'*
If (CInt(MemberId) = 0) Then
MemberId = Session("MemberId")
End If
如果要空转换为空字符串,使用字符串连接符&
:
MEMBERID = Request.QueryString("ID") & ""
QueryString永远不会返回null。 – AnthonyWJones 2010-01-11 13:27:52
检查无:
IF Request.QueryString("ID") IS Nothing Then
...
End If
QueryString.Item永远不会返回空对象引用。 – AnthonyWJones 2010-01-11 13:44:13
这里是我会怎么做: -
dim memberID : memberID = Request.QueryString("ID")
if memberID <> "" then memberID = CLng(memberID)
if memberID = Empty then memberID = Session("MemberID")
查询字符串项属性返回或者一个Empty
或String
。它永远不会返回一个整数。
如果memberID不可分析为整数,那么此代码将会报错。然而,如果ID上的值应该是一个整数,但实际上是别的东西,那么我会希望它失败。
Empty
比喻为等于零长度字符串和数字都为0
嗯,在我的情况下,代码是这样的:
if TRIM(variavel) <> "0" then
variavel = "1"
end if
与“默认”这里的解决方案,其中i工作是:
if isNull(variavel) then
variavel = "1"
end if
我希望它有帮助。
不应该使用字符串比较函数吗? – 2010-01-11 13:52:07