如果int类型的数据为空,读取怎么显示,
我在读取时,是这样处理的:
logGroup.LogicalType = int.Parse(sdr["LogicalType"].ToString()) is DBNull ? 0 : Convert.ToInt32(sdr["LogicalType"]);但是没效果,还是报输入字符串格式不正确

解决方案 »

  1.   

    如果sdr["LogicalType"]为空的话,后面不能在 toString(),这样会报无法实例化的错误,你可以这样
    sdr["LogicalType"]==null ? 0 : Convert.ToInt32(sdr["LogicalType"])
    不清楚 sdr["LogicalType"]==null 可不可以,不行的话你在sdr["LogicalType"]后面点出来value之类的,总之不能直接 toString()
      

  2.   

    sdr["LogicalType"] is DBNull 
      

  3.   

    logGroup.LogicalType =sdr["LogicalType"].ToString()==“”?0:Convert.ToInt32(sdr["LogicalType"]);
      

  4.   

    sdr["LogicalType"] is DBNull
      

  5.   

    哦,首先错在int.Parse(sdr["LogicalType"].ToString()) is DBNull,如果为NULL有转int是错误的
      

  6.   

    如果为空的话,设置默认值为0。如下面这样处理一下,就不会报错了string s = string.IsNullOrEmpty(sdr["LogicalType"].ToString())?"0":sdr["LogicalType"].ToString();
    logGroup.LogicalType = int.Parse(s);
      

  7.   


    这样不错,我知道了一种方法也可以:sdr["SafetyDownThreshold"] != DBNull.Value ? decimal.Parse(sdr["SafetyDownThreshold"].ToString()) : 0;这就不要转换
      

  8.   

    http://apps.hi.baidu.com/share/detail/39219241