我想生成一些从MS-Access数据库检索并存储在DataTable对象/变量myDataTable中的数据的格式化输出。但是,myDataTable中的某些字段包含dbNull数据。因此,如果任何姓,名或sID字段的值为dbNull,则以下VB.net代码段将给出错误。
dim myDataTable as DataTable
dim tmpStr as String
dim sID as Integer = 1
...
myDataTable = myTableAdapter.GetData() ' Reads the data from MS-Access table
...
For Each myItem As DataRow In myDataTable.Rows
tmpStr = nameItem("lastname") + " " + nameItem("initials")
If myItem("sID")=sID Then
' Do something
End If
' print tmpStr
Next
因此,当字段可能包含dbNull而不需要每次检查数据是否为this question中的dbNull时,如何使上述代码工作?
最佳答案
我知道的唯一方法是对其进行测试,如果可以简化操作,则可以组合使用。
If NOT IsDbNull(myItem("sID")) AndAlso myItem("sID") = sId Then
'Do success
ELSE
'Failure
End If
我用VB编写,因为即使您混合使用多种语言,也可以满足您的需要。
编辑
清理以使用IsDbNull使其更具可读性
关于vb.net - 在vb.net中处理dbnull数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/222834/