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
Dim cnn As New SqlConnection(ConfigurationSettings.AppSettings("scooby"))
Dim sql As String = "SELECT mail FROM tblNetUsers WHERE sAMAccountName = '" & reqby & "' "
Dim cmd As New SqlCommand(sql, cnn)
cnn.Open()
Dim dr As SqlDataReader
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
'If dr.HasRows Then
If Not dr.Read.GetType Is GetType(DBNull) Then
'If dr("mail") Is DBNull.Value Then
GetReqByEmail = dr("mail") ' & ""
Else
GetReqByEmail = "NONE"
End If
'End If
cnn.Close()
cnn.Dispose()
End Function

And I'd like to thank my brain, for without it, none of this could have been possible.
0
ahbenshaut
2/18/2004 11:22:22 PM
asp.net.getting-started 91979 articles. 4 followers. Follow

3 Replies
761 Views

Similar Articles

[PageSpeed] 32

If dr.Read() AND NOT dr("mail") = DBNull.Value Then

GetReqByEmail = dr("mail")
Else
GetReqByEmail = "NONE"
End If

Picky
0
pickyh3d
2/18/2004 11:47:01 PM
IT WORKS!! Thanks alot!!!!!

and thank you to everybody for their help.
And I'd like to thank my brain, for without it, none of this could have been possible.
0
ahbenshaut
2/18/2004 11:50:59 PM
Its faster to avoid the null if it isn't important to you.

Best Solution: Make the collumn NOT NULL in the first place and put a default on it of '' (a blank string)
Next Best Solution: For cases where the may be important sometimes or in the future.
Change your select statement to select coalesce(mycolname, '') from mytable
Or you can fiddle with it in code.
0
cmartyn
2/19/2004 12:44:58 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.
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.
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.
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. #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
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
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.getting-started

Resources last updated: 11/25/2015 6:34:59 PM