SQLServerを使用していたASP.NetアプリケーションをOracle11gを使用するアプリケーションに変換しようとしています。表のineには、Number(10,0)として定義されたフィールドがあります。これは外部キーでもあるため、0はこのフィールドの無効な値です。DALでは、次のようにチェックします。
oraCmd.Parameters.Add(new OracleParameter("MPID", OracleDbType.Int32));
oraCmd.Parameters["MPID"].Direction = ParameterDirection.Input;
if (NewCustomer.MPId == 0)
oraCmd.Parameters["MPID"].Value = DBNull.Value;
else
oraCmd.Parameters["MPID"].Value = NewCustomer.MPID;
MPIdがゼロの場合、「値が期待される範囲内にありません」というレコードの追加に失敗します。