Cast from type 'DBNull' to type 'String' is not valid. Error

Hi,

Can anyone help me with an error I am receiving "Cast from type 'DBNull' to type 'String' is not valid."  I am creating an aspx page in VB.NET, please find attached code causing error.

objCmd = New SqlCommand("USP_DisplayEmbarkDetails", objConn)
  objCmd.CommandType = CommandType.StoredProcedure
  objCmd.Parameters.Add("@BranchID", lblGetBranchID.Text)
  objConn.Open()
  objRdr = objCmd.ExecuteReader()

   While objRdr.Read

    lblBranchName.Text=objRdr("BranchName")
    lblBranchID.Text=objRdr("BranchID")
    lblAddress.Text=objRdr("Address")
    lblPostCode.Text=objRdr("PostCode")
    lblTelephone.Text=objRdr("Address")
    lblContact.Text=objRdr("Contact")
    lblSLC.Text=objRdr("SLC")
    lblExt21DDI.Text=objRdr("Ext21DDI")
  End While
  objRdr.Close()
  objConn.Close()

The value Ext21DDI is null, therefore the lblExt21DDI should display nothing.  I have never had this problem before and I have many labels that return null values.

Any help would be greatly appreciated.

Thanks

Brett

0
BrettManning24
10/17/2005 1:59:21 PM
asp.net.getting-started 91979 articles. 4 followers. Follow

1 Replies
737 Views

Similar Articles

[PageSpeed] 13

Hi,

you need to check for DBNull with IsDbNull function or Convert.IsDBNull method. And if there is DBNull value, you cannot just assign it to  variable, you need give different/default value when the given field has DBNull.

For example create following type of helper class (you can extend it with more helper methods for Integer, Decimal etc).

Public Class NZ

   Public Shared Function GetString(obj As Object, defaultstr As String) As String

      If IsDbNull(obj) Then Return defaultstr
      Return CStr(obj)
   End Function

End Class

Then, the code using it (on your loop) could be:

lblExt21DDI.Text=NZ.GetString(objRdr("Ext21DDI"),"")

E.g it checks if you pass it DBNull, and returns the default, otherwise it tries to convert the given object to string with CStr function.


Thanks,

Teemu Keiski
Finland, EU
0
joteke
10/17/2005 3:46:28 PM
Reply:

Similar Artilces:

Cast from type ''''DBNull'''' to type ''''String'''' is not valid.
How do I avoid getting this error: Cast from type ''''DBNull'''' to type ''''String'''' is not valid. I am trying to get values from the database into a form for updating using a Datareader, SQL is set to allow nulls for certain fields as they are not required but the only way I can get the form to display is by adding a space in SQL. Is there another way around this? Check if it is equal to DBNull.Value first and if it is, don't do the cast.Stanley Tan theSpoke Blog Where in the code does it need to go? I am using the following and it's the profile that isn't always requi...

Cast from type 'DBNull' to type 'String' is not valid.
Ok, that is the error... "Cast from type 'DBNull' to type 'String' is not valid. " I am filling a DataSet from the db and some fields are empty. Reading from it and placing the info into a label. Code below.... Sub getProductInfo() Dim DSprod2 As New DataSet() Dim MyCommand As OleDbDataAdapter sql = "Select * from tblProducts Where fldNum = " & intfldNum MyCommand = New OleDbDataAdapter(sql, conn) MyCommand.Fill(DSprod2, "tblProducts") lblProd.Text = DSprod2.Tables("...

Cast from type 'DBNull' to type 'String' is not valid.
How would I check to make sure my SQL db is not pulling a null value? I'm using the following code and I get the 'Cast from type 'DBNull' to type 'String' is not valid.' error. If (dtrUserDetails("D_Address2") Is System.DBNull.Value) Then _Address2 = "" Else _Address2 = dtrUserDetails("D_Address2") End If Any help would be much appreciated. Change your line to _Address2=dtrUserDetails("D_Address2") & "" The empty string in the end will convert the filed to a string ...

Cast from type 'DBNull' to type 'String' is not valid
I REALLY need some help, so here goes. The following function does work as long as the "mail" field in the database isn't NULL. As you can see I have tried a couple of ways to check for a NULL value but none of them seem to work. What's supposed to happen is the function checks to see whether or not a user has an email address in the database. If so, then the email address gets returned, if no email address then I need something back from the function so I can go about another way to get the info to the user. Public Function GetReqByEmail(ByVal reqby As String) As String...

Cast from type 'DBNull' to type 'String' is not valid.
Hi, I have a page with several textboxes...it's a "change your account" page. One of the parameters is presented as a label instead since it is not changed ON THIS PAGE. It needs to be NULL when the account is created and entered later. But when the page loads, I get the above error. The account row is loaded from a business object LoadFromId(). How can I load the page even though this label data is NULL to start with? relevent code below. <asp:Label ID="lblDDAccount" Runat="server"></asp:Label>------If currentUser.DDAccount = "" Then       &...

Cast from type 'DBNull' to type 'String' is not valid
 Hi all,Sorry to be posting here on what is probably a common enough error but I am at my wits end with this one. Quite simply I call an Update stored procedure in my code, passing in a number of paramaters. However, when I try to run the code, the following exception is thrown:Cast from type 'DBNull' to type 'String' is not validI'm really not sure what the problem is here. I have tried hardcoding values for the string values with no success also, as well as using the IsNothing function, but no joy there eitherI would really appreciate someones help as I spent 2 hou...

Cast from type 'DBNull' to type 'String' is not valid
Hi,  I have an old website and old database (SQL 2000).  I add new column "ImageURL' to database, so all data (several thousand items) are "NULL" (actually is dbNull) under this column.  In searchResult.aspx page, inside the datagrid, I add a colummn call "Image" <code> <asp:datagrid id="dgSearchResult" runat="server"><Columns><asp:TemplateColumn HeaderText="Image" ItemStyle-Width="55px" ItemStyle-HorizontalAlign=Center> <ItemTemplate> <asp:Image ID=ThumbImage Wi...

Cast from type 'DBNull' to type 'String' is not valid.
On the viewproduct page if any of the db fields referenced in the SP are empty you get the above error, the error originates in the productsDB.vb file as follows myProductDetails.ModelNumber = CStr(parameterModelNumber.Value) myProductDetails.ModelName = CStr(parameterModelName.Value) myProductDetails.ProductImage = CStr(parameterProductImage.Value).Trim() myProductDetails.UnitCost = CType(parameterUnitCost.Value, Decimal) myProductDetails.Description = CStr(parameterDescription.Value).Trim() OK I can make ...

Cast from type 'DBNull' to type 'String' is not valid #2
G'day, Puzzled by this. The error occurs on the field "Mobile" yet its format is exactly the same as the other fields. In otherwords I can remove the line of code dealing with "Mobile" and it will function. Can anyone explain? The error is : Cast from type 'DBNull' to type 'String' is not valid. <%#ifPresent("Phone:",Container.DataItem("Phone"))%> <%#ifPresent("Fax:",Container.DataItem("Fax"))%> <%#ifPresent("Mobile:",Container.DataItem("Mobile"))%> <%#ifPre...

Error:Cast from type 'DBNull' to type 'Date' is not valid
I tried to insert a null date of birth value to SQL Server table, the datatype is smalldatetime in the table.  I found it insert 1/1/1900 instead of null value.  So I am trying to fix it by the following way: In the first .aspx page, I stored DOB in a session value:  If txtDOB.Text = Nothing Then    Session("DOB") = DBNull.Value Else    Session("DOB") = txtDOB.Text End If In the 2nd .aspx page, I get the value by:  Dim Birthday As Date = CDate(Session("DOB")) However, I got an error message :System.InvalidCastException: Cast fro...

Cast from type 'DBNull' to type 'String' is not valid. #3
Hi Everyone, I am trying this very simple select statement and storing my information into arrays but i am receiving the above error whenever the field has a NULL as value.I have looked at other similar post in this forum and know that i need to check if the string is empty but somehow i do not know the exact syntax to do this check.  Please help. Dim conAct As SqlConnectionDim cmdSelectAct As SqlCommandDim dtrAct As SqlDataReaderconAct = New SqlConnection("etc etc")conAct.Open()cmdSelectAct = New SqlCommand("Select EMPLID,USERID etc etc  from TABLE where STATUS='I'", conAct)...

Cast from type 'DBNull' to type 'String' is not valid. #3
help anybody.. it has been 2 weeks since i got out of this error.. please anybody share their insights on this here is my code. Populate Struct using Output Params from SPROC Line 86: myCustomerDetails.FullName = CStr(parameterFullName.Value) ---ERROR!! Line 87: myCustomerDetails.Password = CStr(parameterPassword.Value) Line 88: myCustomerDetails.Email = CStr(parameterEmail.Value) Of course. They are not the same thing. casting requires the objects to implement either a common ancestor or interface to cast to. Use ToStrin...

Cast from type 'DBNull' to type 'String' is not valid.
I have a problem when I try to read from a table "Ads" in my database and the value of the field is <NULL>. (I assume that I will come across a field that will be blank.) I’m not referencing any field in particular. I am learning .Net through I test project. When I delete a field in a record, for example "phone" I get following error: Cast from type 'DBNull' to type 'String' is not valid. Exception Details: System.InvalidCastException: Cast from type 'DBNull' to type 'String' is not valid. I would like to not show the label at all if it's null. Fo...

Cast from type 'DBNull' to type 'String' is not valid. #2
i have an login page which use e-mail address and password to login , once the system comfirm this is valid login it get customer details and in my login page i have the following code Dim loginsystem As onlineshop.Customers = New onlineshop.Customers() Dim customerId As String = loginsystem.customer_login(login.email_address, login.password) If customerId <> "" Then Dim customerDetails As onlineshop.customer_Detail = loginsystem.Get_Customer_Details(customerid) and at the onlineshop.customer_detail function i have the following ...

Web resources about - Cast from type 'DBNull' to type 'String' is not valid. Error - asp.net.getting-started

Resources last updated: 1/17/2016 1:19:10 PM