フィールド型が adNumeric の場合、VBScript 型の型が一致しません
この記事は、フィールド型が の場合に発生する型 adNumeric
の不一致エラーを解決するのに役立ちます。
元の製品バージョン:インターネット インフォメーション サービス
元の KB 番号: 195180
現象
VBScript を使用して (131) フィールド型に対 adNumeric
して数値比較または計算を実行すると、次のエラーが返されることがあります。
Microsoft VBScript ランタイム エラー '800a000d'
型が一致しません
Microsoft VBScript ランタイム エラー '800a01ca' 変数では、VBScript でサポートされていない Automation 型が使用されます
原因
エラーは、VBScript が値を有効な数値型に適切に変換 adNumeric
できないために発生します。
解決方法
次の 2 つの回避策のいずれかを使用できます。
次の
adNumeric
例のように、 またはCInt()
を使用してCDbl()
フィールドを変換します。<%@ 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)
%>
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示