thankyou=Convert.ToInt32(DataReader["hits"]);我的数据库中,hits字段有的值为空的,因为后来才加的这个字段,所以 执行上面的语句的时候出错:异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型。我希望如果遇到为空的,就当作0处理.怎么改呢?小弟今天第一天学aspx

解决方案 »

  1.   

    数据库中那个字段是什么类型?估计是数据库中的类型转换出错的,null转换是出错
      

  2.   

    取值之前检查DataReader["hits"]!=DBNull.Value,如果不是再赋值,如果是你自己想赋个啥就赋个啥
      

  3.   


    object o = DataReader["hits"];
    if(o != null && o != DBNull.Value)
    {
        thankyou=Convert.ToInt32(DataReader["hits"]);
    }
      

  4.   

    hits字段是数字类型啊. 由于这个字段是后来才加的,所以原有的记录的该字段就变成空的了.
    谁帮我写下这个语句:if (DataReader["hits"]是DBNull类型)  //这里怎么写?
    {
      thankyou=0;
    }
    else
    {
     thankyou= Convert.ToInt32(DataReader["hits"]);
    }