2017-04-25 8 views
-1

아래 내 기존 ASP 응용 프로그램의 내 서버 측 ASP 코드는 다음과 같습니다ASP 렌() 함수는 형식 불일치 오류를 반환

Function isValidPACSSession() 
... 
Dim sessionID : sessionID = Request.QueryString("forSessionID") 
isValidPACSSession = SessionID2PACSUserID(sessionID) 
... 
End Function 

Function SessionID2PACSUserID(sSessionID) 
if (Not IsNull(sSessionID) AND Len(sSessionID) > 0) then 
      ...it fails here at the Len function. 
     else 
      ... 
     end if 
End Function 

렌() 함수는이 partcular 예를 들어 "형식 불일치"오류, wheras 다른 통화를 던졌습니다 다른 구성 요소에서 SessionID2PACSUserID()를 만들면 좋습니다. 도와주세요.

dim sessionLength : sessionLength = 0 
if (Not IsNull(sSessionID) AND sSessionID <> "") then 
    sessionLength = Len(sSessionID) 

나는 또한 기존의 ASP와 매우 잘 작동하지 않는 VS 디버거의 위의 진술에 동의 :

+0

'Request.QueryString ("forSessionID")'가 null 인 경우,이 작은 트릭'sessionID = Request.QueryString ("forSessionID") & ""'또는'Len (sSessionID) & "")'* (개인적으로 변수 설정시 선호) *. 더 큰 질문은 sessionID를 쿼리 문자열로 전달하는 이유입니다. – Lankymart

+0

가능한 경우 [ASP 클래식에서 IsNull IsNull] (http://stackoverflow.com/questions/33254463/if-not-isnull-in-asp-classic) – Lankymart

+0

이것은 프로브입니다. 디버거를 확인했습니다. 요청 .QueryString ("forSessionID")의 문자열 유형은 "F50DAA7A37494A51A0A157D917FACF891129"입니다. 여전히 len() 함수는 형식 불일치 오류를 발생시킵니다. –

답변

0

해결책을 찾았습니다. 실제로 나는 len()을 실패하게하는 calle 웹 페이지에서 "len"이라는 이름으로 로컬 변수를 가졌습니다. len 변수 이름을 nLength로 변경하고 Len()이 이제는 정상적으로 작동합니다.

0

방금 ​​왜 그런 짓을하지 값이 존재하는지 확인하려는 것 같습니다

+0

감사합니다. 하지만 DB 쿼리 purpsose에 사용할 문자열 길이가 필요합니다. –

+0

는 잠재적 인 해결 방법으로 내 대답을 업데이트했습니다. –