다음을 통해 공유


필드 형식이 adNumeric인 경우 VBScript 형식 형식이 일치하지 않음

이 문서에서는 필드 형식이 될 때 발생하는 형식 불일치 오류를 해결하는 데 도움이 됩니다 adNumeric.

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

증상

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

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

원인

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

해결

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

  • 다음 예제에서 adNumeric 사용 CDbl() 하거나 CInt() 다음과 같이 필드를 변환합니다.

     <%@ 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)
 %>