Share via


필드 형식이 adNumeric일 때 VBScript 형식 형식이 일치하지 않음

이 문서에서는 필드 형식adNumeric이 일 때 발생하는 형식 불일치 오류를 resolve 수 있습니다.

원본 제품 버전: 인터넷 정보 서비스
원본 KB 번호: 195180

증상

VBScript를 사용하여 (131) 필드 형식에서 adNumeric 숫자 비교 또는 계산을 수행하는 경우 다음 오류가 반환될 수 있습니다.

Microsoft VBScript 런타임 오류 '800a000d'
형식 불일치
Microsoft VBScript 런타임 오류 '800a01ca' 변수는 VBScript에서 지원되지 않는 자동화 형식을 사용합니다.

원인

VBScript가 값을 유효한 숫자 형식으로 제대로 변환 adNumeric 할 수 없기 때문에 오류가 발생합니다.

해결 방법

다음 두 가지 해결 방법 중 하나를 사용할 수 있습니다.

  • 다음 예제와 adNumeric 같이 또는 CInt() 를 사용하여 CDbl() 필드를 변환합니다.

     <%@ LANGUAGE="VBScript"%>
     <%
     Set oConn = Server.CreateObject("ADODB.Connection")
     oConn.Open "MyDSN", "MyUserID", "MyPassWord"
     set oRS = oConn.Execute("Select list_price FROM DEMO.PRICE")
     Response.Write("List Price * 100 = " & CDbl(oRS("list_price")) * 100)
     %>
    
  • JScript는 이 동작을 나타내지 않으므로 JScript를 사용합니다.

동작을 재현하는 단계

다음 코드는 위에서 언급한 오류를 보여 줍니다.

<%
 Set oConn = Server.CreateObject("ADODB.COnnection")
 oConn.Open "MyDSN", "MyUserID", "MyPassWord"
 set oRS = oConn.Execute("Select list_price FROM DEMO.PRICE")'This is the bad line of code, "list_price" is being returned as
 'type adNumeric.
 Response.Write("List Price * 100 = " & oRS("list_price") * 100)
 %>