Asp.net DBNULL赋值给一个";“数字”;Oracle中的字段

Asp.net DBNULL赋值给一个";“数字”;Oracle中的字段,asp.net,oracle11g,Asp.net,Oracle11g,我正在尝试将使用SQL Server的ASP.Net应用程序转换为使用Oracle 11g的应用程序。在表的第行中,有一个定义为数字(10,0)的字段。它也是外键,因此0对此字段无效。在DAL中,我检查如下: oraCmd.Parameters.Add(new OracleParameter("MPID", OracleDbType.Int32)); oraCmd.Parameters["MPID"].Direction = ParameterDirection.Input;

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

数据库中的
MPId
可为空吗?是,它被定义为可为空。