Solved

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

Posted on 2014-10-07
6
143 Views
Last Modified: 2014-10-13
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

0
Comment
Question by:BlakeMcKenna
  • 3
  • 2
6 Comments
 
LVL 29

Accepted Solution

by:
Paul Jackson earned 500 total points
ID: 40367335
try :

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

Author Comment

by:BlakeMcKenna
ID: 40368243
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
 

Author Comment

by:BlakeMcKenna
ID: 40368995
Paul,

I did try your suggestion and it worked but not in all instances.
0
 

Author Comment

by:BlakeMcKenna
ID: 40369680
I've requested that this question be deleted for the following reason:

I figured it out...
0
 
LVL 29

Expert Comment

by:Paul Jackson
ID: 40369681
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

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now