Error de coincidencia del tipo de tipo VBScript cuando el tipo de campo es adNumeric
Este artículo le ayuda a resolver el error Desajuste de tipo que se produce cuando el tipo de campo es adNumeric .
Versión del producto original: Internet Information Services
Número KB original: 195180
Síntomas
Al realizar una comparación numérica o un cálculo en un tipo de campo adNumeric (131) con VBScript, se pueden devolver los siguientes errores:
Error en tiempo de ejecución de Microsoft VBScript '800a000d'
Error de coincidencia de tipos
Error de tiempo de ejecución de Microsoft VBScript Variable "800a01ca" usa un tipo de automatización no compatible con VBScript
Causa
Los errores se producen porque VBScript no puede convertir correctamente adNumeric valores a un tipo numérico válido.
Solución
Puede usar cualquiera de las dos soluciones alternativas posibles siguientes:
Convierta el
adNumericcampo con o como en el ejemploCDbl()CInt()siguiente:<%@ 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) %>Use JScript, ya JScript no muestra este comportamiento.
Pasos para reproducir el comportamiento
El siguiente código muestra el error mencionado anteriormente:
<%
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)
%>