在asp.net和Oracle SQL中处理空值

在asp.net和Oracle SQL中处理空值,asp.net,webforms,odp.net,Asp.net,Webforms,Odp.net,如何处理空值 我有一个这样的物体: public class Person { public string codSeller = ""; } 现在,当我想在DB中插入时,我添加了以下参数: Function that insert that value to BD(aPerson) using (OracleConnection conn = new OracleConnection(connectionString)) using (OracleComma

如何处理空值

我有一个这样的物体:

public class Person {
public string codSeller = "";
}
现在,当我想在DB中插入时,我添加了以下参数:

Function that insert that value to BD(aPerson)

        using (OracleConnection conn = new OracleConnection(connectionString))
        using (OracleCommand cmd = new OracleCommand("PKG_TEST", conn))
        {
            conn.Open();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("vCOD_SELLER", OracleDbType.Int32).Value = Convert.ToInt32(aPerson.codSeller);
            cmd.ExecuteNonQuery();
        }
我知道这行不通,如果codSeller为空或null,有没有办法插入int-oracle null值? 考虑到我必须将该字符串转换为int32并检查它是空的还是空的

编辑:


您是否尝试将codeSeller属性设置为可空

public class Person {
  public int? codSeller = null;
}

有很多可能的解决方案。但是从谷歌开始,我发现了一种方法。if(string.IsNullOrEmpty(aPerson.codSeller)){cmd.Parameters.Add(“vCOD\u SELLER”,OracleDbType.Int32).Value=DBNull.Value;}else{cmd.Parameters.Add(“vCOD\u SELLER”,OracleDbType.Int32).Value=Convert.ToInt32(aPerson.codSeller)}在转换或解析值时,这种变量是否容易控制?因此,可为null的int将允许您根据需要存储null或整数值。您可以将字符串解析为整数并存储为可为null的int。
public class Person {
  public int? codSeller = null;
}