我正在尝试将使用 SQL Server 的 ASP.Net 应用程序转换为使用 Oracle 11g 的应用程序。在表中,有一个字段定义为 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 为零时,添加“值不在预期范围内”的记录失败。