Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conversion from type 'DBNull' to type 'String' is not valid

i am receiving this problem

Conversion from type 'DBNull' to type 'String' is not valid.

Line 501: hfSupEmail.Value = dt.Rows(0)("SupEmail")

i am very new to this, i am not really sure what is the exact problem could someone guide me?

Many thanks

like image 715
user3571305 Avatar asked Apr 25 '14 02:04

user3571305


People also ask

What is conversion from type DBNull to type string is not valid?

The error : Conversion from type 'dbnull' to type 'string' is not valid has been known to appear during file transfers to DMZ as well as in the EmailNotify task error log. This error appears most commonly when DMZ attempts to run a database query against something that has been removed, typically a user or a group.

Is DB null?

The DBNull class represents a nonexistent value. In a database, for example, a column in a row of a table might not contain any data whatsoever. That is, the column is considered to not exist at all instead of merely not having a value. A DBNull object represents the nonexistent column.


2 Answers

The quick and dirty fix:

hfSupEmail.Value = dt.Rows(0)("SupEmail").ToString() 

or for C#:

hfsupEmail.Value = dt.Rows[0]["SupEmail"].ToString(); 

This works very well when your eventual target and the source data are already strings, because any extra .ToString() call for something that's already a string is likely to be optimized into a no-op by the jitter, and if it's NULL the resulting DBNull.Value.ToString() expression produces the empty string you want.

However, if you're working with non-string types, you may end up doing significant extra work, especially with something like a DateTime or numeric value where you want specific formatting. Remember, internationalization concerns mean parsing and composing date and number values are actually surprisingly expensive operations; doing "extra" work to avoid those operations is often more than worth it.

like image 190
Joel Coehoorn Avatar answered Oct 23 '22 09:10

Joel Coehoorn


Hope This Help.... dt.Rows(0)("SupEmail") returns null

To avoid this chcek before assigning

If Not IsDBNull(dt.Rows(0)("SupEmail")) Then     hfSupEmail.Value = dt.Rows(0)("SupEmail") End If 
like image 37
Rohit Avatar answered Oct 23 '22 10:10

Rohit