我正在尝试使用以下 C# 代码确定如何在 OracleCommand 中将 null 指定为参数值。我已经摘录了相关的部分,但基本上重点是如果 sal_id 的值为 0,它应该存储为 null。我已经尝试过 Null、“Null”和其他一些东西,但到目前为止还没有运气。
cmd.CommandText = "INSERT INTO tcustomer(cust_id, salutation_id) VALUES(ORADBA.SEQCUST.NEXTVAL, :salid) RETURNING cust_id INTO :newcid" ;
if (sal_id==0) {
cmd.Parameters.Add("salid", Null) ;
} else {
cmd.Parameters.Add("salid", sal_id) ;
}
cmd.Parameters.Add("newcid", OracleDbType.Int32).Direction = ParameterDirection.ReturnValue ;
cmd.ExecuteNonQuery() ;
String newcidval = cmd.Parameters["newcid"].Value.ToString() ;
cmd.Dispose() ;