Aracılığıyla paylaş


Alan türü adNumeric olduğunda VBScript Türü türü uyuşmazlığı

Bu makale, alan türü olduğunda oluşan Tür Uyuşmazlığı hatasını çözmenize yardımcı olur adNumeric.

Özgün ürün sürümü: Internet Information Services
Özgün KB numarası: 195180

Belirtiler

VBScript kullanarak bir adNumeric (131) alan türünde sayısal karşılaştırma veya hesaplama yaptığınızda aşağıdaki hatalar döndürülebilir:

Microsoft VBScript çalışma zamanı hatası '800a000d'
Tür uyumsuzluğu
Microsoft VBScript çalışma zamanı hatası '800a01ca' Değişkeni VBScript'te desteklenmeyen bir Otomasyon türü kullanıyor

Neden

VBScript değerleri doğru bir sayısal türe dönüştüremediğinden adNumeric hatalar oluşur.

Çözüm

Aşağıdaki iki olası geçici çözümden birini kullanabilirsiniz:

  • Aşağıdaki örnekte olduğu adNumeric gibi veya CInt() kullanarak CDbl() alanı dönüştürün:

     <%@ 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 bu davranışı sergilemediğinden JScript kullanın.

Davranışı Yeniden Oluşturma Adımları

Aşağıdaki kod yukarıda belirtilen hatayı gösterir:

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