次のC#コードを使用して、OracleCommandのパラメータ値としてnullを指定する方法を決定しようとしています。関連するビットを抜粋しましたが、基本的には、sal_idに値0が指定されている場合は、nullとして格納する必要があります。私はヌル、 "ヌル"といくつかの他のものを試しましたが、これまでのところ運がありません。OracleCommandパラメータの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() ;
おかげで...それは実際にSystem.DBNull.Valueで動作するようになりました。 –
Andrew Hareの答えはDan Uのような偽りです。それはSystem.DBNull.Valueです –