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 SqlConnection
Dim cmdSelectAct As SqlCommand
Dim dtrAct As SqlDataReader
conAct =
New SqlConnection("etc etc")
conAct.Open()
cmdSelectAct =
New SqlCommand("Select EMPLID,USERID etc etc  from TABLE where STATUS='I'", conAct)
dtrAct = cmdSelectAct.ExecuteReader

While dtrAct.Read
usrIDArr(counter) = dtrAct("EMPLID".TrimEnd.ToString)
usrNameArr(counter) = dtrAct("USERID".TrimEnd.ToString)
etc
etc
counter += 1
End While
dtrAct.Close()
conAct.Close()

So, for instance, how to i check if dtrAct("EMPLID".trimend.tostring) is NULL?

Many Thanks,
Kevin

0
coolislandsurf
6/10/2005 7:30:37 PM
asp.net.getting-started 91979 articles. 4 followers. Follow

6 Replies
574 Views

Similar Articles

[PageSpeed] 51

Hi,

you can use VB's built-in IsDBNull function to check if field has NULL

If IsDBNull(dtrAct("USERID")) Then
...
End If

Or you could use DataReader's own IsDBNull method but it takes only column ordinal instead of name.


Thanks,

Teemu Keiski
Finland, EU
0
joteke
6/10/2005 7:39:23 PM

Thanks a lot.  the IsDBNull worked great for what i am doing.  Thanks again.

Kevin

0
coolislandsurf
6/13/2005 2:13:39 PM
Kevin,

   Your syntax is incorrect when you're pulling from the datareader.

dtrAct("EMPLID".trimend.tostring)

should be

dtrAct("EMPLID").trimend.tostring

Otherwise, you're just performing those string operations on "EMPLID" rather than the data field.  If you alter your syntax as shown above, you won't have to check for DBNull.

Cheers,
Peter Brunone
MS MVP, ASP.NET
Founder, EasyListBox.com
Do the impossible, and go home early.
0
PeterBrunone
6/13/2005 5:17:42 PM

Woow.  Great.  Thanks for letting me know about this.  This is very useful.

0
coolislandsurf
6/13/2005 5:28:49 PM
No problem.  Oh, also, you may want to reverse the order of ToString and TrimEnd because if you call TrimEnd first, you may see the same error since you're trying to perform a string operation on a null.

Peter Brunone
MS MVP, ASP.NET
Founder, EasyListBox.com
Do the impossible, and go home early.
0
PeterBrunone
6/13/2005 6:06:14 PM
Great.  Thanks again.  I am re-adjusting my code.
0
coolislandsurf
6/13/2005 6:15:36 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
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,  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.
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
 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 #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. #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. #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.
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. 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. #3 - asp.net.getting-started

Resources last updated: 12/20/2015 12:37:01 AM