vb.netdbnull

handling dbnull data in vb.net


I want to generate some formatted output of data retrieved from an MS-Access database and stored in a DataTable object/variable, myDataTable. However, some of the fields in myDataTable cotain dbNull data. So, the following VB.net code snippet will give errors if the value of any of the fields lastname, intials, or sID is dbNull.

   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

So, how do i get the above code to work when the fields may contain dbNull without having to check each time if the data is dbNull as in this question?


Solution

  • The only way that i know of is to test for it, you can do a combined if though to make it easy.

    If NOT IsDbNull(myItem("sID")) AndAlso myItem("sID") = sId Then
       'Do success
    ELSE
       'Failure
    End If
    

    I wrote in VB as that is what it looks like you need, even though you mixed languages.

    Edit

    Cleaned up to use IsDbNull to make it more readable