PRB: errore VBScript "tipo non corrispondente" quando il tipo di campo è adNumeric

Sintomi

Quando si esegue un confronto numerico o un calcolo su un tipo di campo adNumeric (131) usando VBScript, potrebbero essere restituiti gli errori seguenti:

Errore di tipo "800a000d" di runtime di Microsoft VBScript

Errore di runtime di Microsoft VBScript la variabile "800a01ca" usa un tipo di automazione non supportato in VBScript

Causa

Gli errori si verificano perché VBScript non può convertire correttamente i valori di adNumeric in un tipo numerico valido.

Risoluzione

È possibile usare una delle due possibili soluzioni alternative seguenti:

  • Convertire il campo adNumeric usando CDbl () (o CInt ()) come illustrato nell'esempio seguente:

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

    Oppure

  • USA JScript, perché JScript non presenta questo comportamento.

Ulteriori informazioni

Procedura per riprodurre il problema

Il codice seguente presenta l'errore menzionato sopra:

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

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×