类型“System.DBNull”的值无法转换为“String”最好的解决方法

在应使用String类型的场合中,由于一些客观的原因我们无法保证被使用的值类型总为String,并且很多时候被使用的值类型为DBNull,于是程序(VB.NET)在运行时报错:类型“System.DBNull”的值无法转换为“String”!一个简单例子如下:

Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
    Dim mynull As DBNull
    Response.Write(Message(mynull))
End Sub

Function Message(ByVal name As String) As String
    Return name
End Function

运行出错:类型“System.DBNull”的值无法转换为“String”!

以前在ASP中也存在着类似的问题,解决方法很简单:将null值和""(空字符串)先进行连接一下再对它进行操作!同样的思路:

Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
    Dim mynull As DBNull
    Response.Write(Message(mynull+""))
End Sub

Function Message(ByVal name As String) As String
    Return name
End Function

问题解决!

评论: 0 | 引用: 0 | 查看次数: 5528
发表评论
登录后再发表评论!