アプリ版:「スタンプのみでお礼する」機能のリリースについて

[OSのVER]:NT4
[OracleのVER]:Oracle7
環境Oracle7、ASP

初めて投稿させていただきます。
ASPでOracleの受注表(B1JUCHU)にある担当者コード(TANTO_CD)で、担当者マスタ(B1MTANTO)から担当者名
(TANTO_NM)を取り出し、表示しようとしています。
担当者マスタには、受注表の担当者コードが全てあるわけではありません(ないものがある)。
ここで、担当者マスタに無い担当者コードがあった場合、以下のコードで次のエラーがブラウザ上に出ます。

[Oracle][ODBC][Ora]ORA-01722: 数値が無効です。

担当者マスタに担当者コードがあるレコードまでは、担当者名が表示されるのですが、担当者マスタに担当者コードが
ないところでエラーがでます。
SQLの戻り値がNULLで、それを数値列へ入れようとしているため、このエラーが出ていると思うのですが、良い解決
法が思いつきません。アドバイスお願います。


strSQL = " SELECT * FROM B1JUCHU WHERE BUMON_CD = '" & Request.Form("frm1") & "'"
Set oraDs = cn.Execute(strSQL)



strSQL2= " SELECT TANTO_NM FROM B1MTANTO WHERE TANTO_CD = " & oraDs("TANTO_CD")
Set oraDs2 = cn.Execute(strSQL2)


<td class="TextList"><%=oraDs2("TANTO_NM") %></td>

A 回答 (2件)

NVLでNULLの時の値を決めちゃえばエラーになりません。

    • good
    • 0

SELECT 文の WHERE 条件に TANTO_CD IS NOT NULL


とすれば NULL はとってこないのでは?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す