仅供将来参考:
您有几种方法来检查db值是否为空。
这里的例子是完整的命名空间。
Dim reader As System.Data.SqlClient.SqlDataReader
Dim fieldIndex As Integer = 0
' reader(fieldIndex) is equivalent to reader.Item(fieldIndex)
Dim fieldValue As Object = reader.Item(fieldIndex)
Dim isFieldValueNull As Boolean
' Namespace: System.Data.SqlClient; Class: SqlDataReader
isFieldValueNull = reader.IsDBNull(fieldIndex)
' Namespace: Microsoft.VisualBasic; Module: Information
isFieldValueNull = Microsoft.VisualBasic.IsDBNull(fieldValue)
' Namespace: System; Class: Convert
isFieldValueNull = System.Convert.IsDBNull(fieldValue)
' Namespace: System; Class: DBNull
isFieldValueNull = System.DBNull.Value.Equals(fieldValue)
注:DBNull.Value
总有DBNull
一个实例,因此这是从来没有Nothing
!
如果您想检查数据库值是否为空,那么您可以在方法调用之前放置Not
关键字。
Dim isFieldValueNotNull As Boolean
isFieldValueNotNull = Not reader.IsDBNull(fieldIndex)
isFieldValueNotNull = Not Microsoft.VisualBasic.IsDBNull(fieldValue)
isFieldValueNotNull = Not System.Convert.IsDBNull(fieldValue)
isFieldValueNotNull = Not System.DBNull.Value.Equals(fieldValue)
'reader'null? – Cortright