我正在尝试从数据库读取数据时处理DBNull
异常。
这是我的代码:
...
Dim SQLRDAs SqlDataReader
...
val1= GetStringFromDB(Trim(SQLRD("Name")))
val2= GetStringFromDB(Trim(SQLRD("Level")))
val2= GetStringFromDB(Trim(SQLRD("blahblah")))
...
Public Function GetStringFromDB(ByVal inputValue) As String
Dim outputValue As String
If IsDBNull(inputValue) Then
outputValue = "null"
Else
outputValue = inputValue
End If
Return outputValue
End Function
但仍然出现
Conversion from type 'DBNull' to type 'String' is not valid.
错误。怎么了? 最佳答案
IsDBNull检查是否缺少值。它不等同于Nothing或String.Empty。
您确定您的inputValue包含DBNull.Value吗?
我将以这种方式更改您的代码:
If String.IsNullOrEmpty(inputValue) OrElse IsDBNull(inputValue) Then
outputValue = "null"
还要注意,您未指定inputValue的类型,在我的回答中,我假设为字符串
关于asp.net - 在VB.net中处理DBNull异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9818624/