如何将‘DBNull’数据类型转换为其他类型?
如何将 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"))
请问如何解决?请高手指点。
问题点数:100、回复次数:9Top
1 楼yingshis(英石)回复于 2004-09-02 15:57:53 得分 50
加上对是否为空的判断,
if not isdbnull(objdatareader("phone"))
_phone=cstr(objdatareader("phone"));
Top
2 楼xrascal(横刀夺爱)回复于 2004-09-02 16:02:44 得分 50
strTemp = objAdmin.readData(request.form("adminId")).ToString()
Top
3 楼zanbuhui(我不会)回复于 2004-09-02 16:04:44 得分 0
if not isdbnull(objdatareader("phone"))
_phone=cstr(objdatareader("phone"))
else
_phone=cstr(objdatareader(" "))
endifTop
4 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-09-02 16:05:12 得分 0
你是不是更新数据库的时候不能更新NULL呀
你试试encode(null,'','')
忘记几个参数的意思了,你查一下呢
Top
5 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-09-02 16:05:32 得分 0
好象CONVERT()
也行的Top
6 楼cuike519(I will be back!)回复于 2004-09-02 20:55:07 得分 0
_phone = objDataReader("phone")!=DBNull.Value?objDataReader("phone").ToString():"DefaultValue";
不知道你是不这个意思!Top
7 楼swzlxm(守望者)回复于 2004-09-02 21:11:57 得分 0
objDataReader("phone")==System.DBnull.value?"":objDataReader("phone").tostring() //or othersTop
8 楼jilate()回复于 2004-09-02 21:13:34 得分 0
直接objDataReader("phone").tostring 就可以了。Top
9 楼mulintaomulintao()回复于 2004-09-02 21:23:05 得分 0
要先判断,否则回出错
if not isdbnull(objdatareader("phone"))
_phone=cstr(objdatareader("phone"));
Top




