Getting a "Conversion from type 'DBNull' to type 'String' is not valid" error.

Isn't this the correct way to check for NULLS if the value is coming from a Database? I'm getting the  "Conversion from type 'DBNull' to type 'String' is not valid" error on the indicated line. The variable clsDE.capacity is defined as a "String".

    Public Function GetDetailsEquipmentRecord(ByVal iEquipment_ID As Integer, ByVal clsDE As CalTableClasses.CalibrationClasses.DETAILS_Equipment, ByVal EH As ErrorHandling.ErrorHandler)
        Try
            DL.GetDetailsEquipmentRecord(iEquipment_ID, EH)

            If EH.Success Then
                If EH.DataSet.Tables(0).Rows.Count = 1 Then
                    Dim row2 As DataRow = EH.DataSet.Tables(0).Rows(0)
                    clsDE.capacity = If(DBNull.Value.ToString.Equals(row2("Capacity")), "", row2("Capacity"))  '----------> Throwing exception
                End If
            End If

        Catch ex As Exception
            EH.ErrorMessage = "CalBusiness/GetDetailsEquipmentRecord() - " & ex.Message & "~E"
        End Try

        Return EH
    End Function

Open in new window

BlakeMcKennaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Paul JacksonSoftware EngineerCommented:
try :

clsDE.capacity = If(IsDBNull(row2("Capacity")), "", row2("Capacity"))
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
BlakeMcKennaAuthor Commented:
I actually went a different route that I've always used in the past. It's more primitive but works like a charm.

clsDE.capacity = "" & row2("Capacity")

Open in new window

0
BlakeMcKennaAuthor Commented:
Paul,

I did try your suggestion and it worked but not in all instances.
0
BlakeMcKennaAuthor Commented:
I've requested that this question be deleted for the following reason:

I figured it out...
0
Paul JacksonSoftware EngineerCommented:
Shouldn't be deleted, QA's answer or both QA's and Expert's answer should be selected as the solution and added to the knowledgebase.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.