开发者

Type mismatch: '[string: ""]'

开发者 https://www.devze.com 2022-12-15 19:59 出处:网络
I receive the following error when there is no value for querystring. (I mean like index.asp?ID=). Microsoft VBScript runtimeerror \'800a000d\'

I receive the following error when there is no value for querystring. (I mean like index.asp?ID=).

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: ""]'

index.asp, line 10

I tried converting NULL value to something else with the following code. It did not work.

MEMBERID        = Request.QueryString("ID")

If MEMBERID = "" or MEMBERID = 0 Then
    MEMBERID开发者_高级运维 = Session("MEMBERID")
End If


OK, you're getting the parameter ID from the QueryString and checking if it's empty or zero, right? So, you should do something like:

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


If you want to convert a null to an empty string, use the string concatenation operator &:

MEMBERID = Request.QueryString("ID") & ""


Well, in my case, the code was like this:

if TRIM(variavel) <> "0" then
    variavel = "1"
end if

And the "default" solution here where i work is:

if isNull(variavel) then
    variavel = "1"
end if

I hope it helps.


Check for Nothing:

IF Request.QueryString("ID") IS Nothing Then
 ...
End If


Here is how I would do this:-

 dim memberID : memberID = Request.QueryString("ID")
 if memberID <> "" then memberID = CLng(memberID)
 if memberID = Empty then memberID = Session("MemberID")

The QueryString item property returns either an Empty or a String. It will never return a integer.

If memberID is not parsable as an integer then this code will error. However, if the value on ID is supposed to be an integer but is actually something else then I would want it to fail.

Empty compares as equal to both zero-length string and numeric 0.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号