이 문서에서는 필드 형식이 될 때 발생하는 형식 불일치 오류를 해결하는 데 도움이 됩니다 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)
%>