如何将 DBNull (数据库中为空地列)转换为其他数据类型代码如下
装配件中如下class ....    _phone = Cstr(objDataReader("phone"))    '这个地方加不加Cstr()都是一个结果....
end class在页面使用的时候如果数据空中PHONE列为空折出现错误如下 System.InvalidCastException: Cast from type 'DBNull' to type 'String' is not valid.Line 11: strTemp = objAdmin.readData(request.form("adminId"))请问如何解决?请高手指点。

解决方案 »

  1.   

    加上对是否为空的判断,
     if not isdbnull(objdatareader("phone")) 
        _phone=cstr(objdatareader("phone"));
      

  2.   

    strTemp = objAdmin.readData(request.form("adminId")).ToString()
      

  3.   

    if not isdbnull(objdatareader("phone")) 
        _phone=cstr(objdatareader("phone"))
    else
       _phone=cstr(objdatareader(" "))
    endif
      

  4.   

    你是不是更新数据库的时候不能更新NULL呀
    你试试encode(null,'','')
    忘记几个参数的意思了,你查一下呢
      

  5.   

    _phone = objDataReader("phone")!=DBNull.Value?objDataReader("phone").ToString():"DefaultValue";不知道你是不这个意思!
      

  6.   

    objDataReader("phone")==System.DBnull.value?"":objDataReader("phone").tostring() //or others
      

  7.   

    直接objDataReader("phone").tostring 就可以了。
      

  8.   

    要先判断,否则回出错
    if not isdbnull(objdatareader("phone")) 
        _phone=cstr(objdatareader("phone"));