Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, den Fehler "Typkonflikt" zu beheben, der auftritt, wenn der Feldtyp lautet adNumeric.
Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 195180
Problembeschreibung
Wenn Sie einen numerischen Vergleich oder eine Berechnung für einen adNumeric (131) Feldtyp mit VBScript durchführen, werden möglicherweise die folgenden Fehler zurückgegeben:
Microsoft VBScript-Laufzeitfehler '800a000d'
Typenkonflikt
Microsoft VBScript-Laufzeitfehler '800a01ca' Variable verwendet einen Automatisierungstyp, der in VBScript nicht unterstützt wird.
Ursache
Die Fehler treten auf, da VBScript Werte nicht ordnungsgemäß in einen gültigen numerischen Typ konvertieren adNumeric kann.
Lösung
Sie können eine der folgenden beiden möglichen Problemumgehungen verwenden:
Konvertieren Sie das
adNumericFeld wieCInt()CDbl()im folgenden Beispiel:<%@ 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) %>Verwenden Sie JScript, da JScript dieses Verhalten nicht aufweist.
Schritte zum Reproduzieren des Verhaltens
Der folgende Code zeigt den oben genannten Fehler an:
<%
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)
%>