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
                        lblDDAccount.Text = "enter here"
                    Else
                        lblDDAccount.Text = currentUser.DDAccount
                    End If
------------------
Private Sub LoadFromId()
       //this is in the business object

            Dim dataUser As New Data.User(myModuleSettings.ConnectionString)
            Dim userRow As DataRow = dataUser.Retrieve(myUserId)

            ...(other items) ...
            myDDAccount = CStr(userRow("DDAccount"))

        End Sub
--------------------

 
"Look at it go, Homer; this one's gonna go for miles!"
0
ReidMelSam
5/16/2006 6:32:08 PM
asp.net.web-forms 93655 articles. 5 followers. Follow

6 Replies
766 Views

Similar Articles

[PageSpeed] 43

I would use IsDBNull to determine if it's null, then assign an empty string value ("") to it. something like:

If IsDBNull(currentUser.DDAccount) = System.DBNull.Value Then

If currentUser.DDAccount = "" Then
                        lblDDAccount.Text = "enter here"
                    Else
                        lblDDAccount.Text = currentUser.DDAccount
                    End If

End If

You could also use Select Case instead. the key concept is that a DBNull is not equal to an empty string.


LIozzi
www.iozzi.net
0
Liozzi
5/16/2006 8:34:20 PM

Ooops..

If IsDBNull(currentUser.DDAccount) = System.DBNull.Value Then

currentUser.DDAccount = ""

lblDDAccount.Text = "enter here"
Else

If currentUser.DDAccount = "" Then
                        lblDDAccount.Text = "enter here"
                    Else
                        lblDDAccount.Text = currentUser.DDAccount
                    End If

End If


LIozzi
www.iozzi.net
0
Liozzi
5/16/2006 8:37:37 PM
Try something like this:

If userRow("DDAccount") = DBNull.Value
    myDDAccount = ""
Else
    myDDAccount = CStr(userRow("DDAccount"))
End If
Darrell Norton, MVP
Darrell Norton's Blog


Please mark this post as answered if it helped you!
0
DarrellNorton
5/16/2006 8:47:30 PM

Thanks, but none of the above has solved it...might help to show that I start the loading of the objects by this statement in the pageLoad() event:

Dim currentUser As New AccBusiness.User( _
                      CType(Context.User, SitePrincipal)) 

...and this is where the error msg points to in the pageLoad() sub. If this helps anyone see where I'm going wrong, plz try again to give me a suggestion. It just looks like the pageLoad() sub wants each  variable stored in the LoadFromId() to have something...but I want to start with a Null in this particular field, not a default value.

Thx,

Reid C.


"Look at it go, Homer; this one's gonna go for miles!"
0
ReidMelSam
5/17/2006 2:30:15 AM

Darrell if you're still out there (or anyone else who might see my problem) you may be able to detect something from the above...I'm not getting past the exposing of the session principal "currentUser" at the start of the pageLoad sub. It is what is pulling the parameters from the LoadFromId sub in my business class...that is stopping me before I ever get to the "currentUser.DDAccount parameter even if I apply a Null test to that.

Is there something I can do in the database to handle this, or in the LoadFromId sub?

Thx much / Reid C. 


"Look at it go, Homer; this one's gonna go for miles!"
0
ReidMelSam
5/17/2006 5:29:21 PM
Solved this in my query in the sproc. thanks to all who looked.....
"Look at it go, Homer; this one's gonna go for miles!"
0
ReidMelSam
5/18/2006 2:10:53 AM
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
 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
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 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.
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
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...

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. #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. #2
I think this is a bug, the database of Products are allowed to have "Null" Value, but when you do have one, the store is crashed with subjected message, I have found a solution to use View to change the Null value into something when run the SQL store procedure, but I don't know if is there anyway from "Class" side to solve it. Always check for Null before trying to convert the value to a string or assign to a text or label. Try this: If Not(IsDbNull(drProducts("foo"))) Then ...insert your code to display here... End If mix it up! www.devalch...

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 ...

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=objRd...

Web resources about - Cast from type 'DBNull' to type 'String' is not valid. - asp.net.web-forms

Resources last updated: 12/31/2015 8:22:58 AM