2010-01-10 4 views
4

쿼리 문자열에 값이 없으면 다음 오류가 발생합니다. (index.asp? ID = 같은 의미).형식 불일치 : '[string : ""]'

마이크로 소프트 VBScript 런타임 오류 '800a000d'

유형 불일치 : '[문자열 : ""]'

index.asp, 라인 (10)

내가 가진 뭔가 다른 NULL 값을 변환 시도 다음 코드. 그것은 작동하지 않았다.

MEMBERID  = Request.QueryString("ID") 

If MEMBERID = "" or MEMBERID = 0 Then 
    MEMBERID = Session("MEMBERID") 
End If 
+0

문자열 비교 함수를 사용해야합니까? –

답변

3

OK : 아무것도

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

당신이 빈 문자열로 널을 변환 할 경우 문자열 연결 연산자 & 사용, 당신이 얻고을

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

QueryString은 null을 반환하지 않습니다. – AnthonyWJones

0

확인 QueryString에서 매개 변수 ID 및 비어 있는지 확인 또는 0, 오른쪽? 그래서, 당신은 같은 것을 수행해야합니다

여기
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 
+0

QueryString.Item은 null 개체 참조를 반환하지 않습니다. – AnthonyWJones

0

내가 이런 짓을 했을까 방법입니다 -

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

쿼리 문자열 항목의 속성을 반환 어느 쪽 Empty 또는 String. 정수를 반환하지 않습니다.

memberID를 정수로 구문 분석 할 수없는 경우이 코드는 오류가 발생합니다. 그러나 ID의 값이 정수가되어야하지만 실제로는 다른 값인 경우 실패하게 만듭니다. 내가 여기 어디

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

그리고 "기본"솔루션 :

Empty 내 경우, 0

0

음 길이가 0 인 문자열과 숫자 모두에 동등한 비교 코드는 다음과 같았다 직장 :

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

나는 그것이 도움이 되길 바랍니다.

관련 문제