Click here to Skip to main content
15,887,746 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
The code below I used so when a button is clicked, the contents of a CSV file are loaded into the DataGridView. However, when I click the button, only one line prints and the rest do not print even if I click it again.

I am unsure on what the problem is, some help would be appreciated

Thanks

What I have tried:

VB
Private Sub btnLoadDGVGeneral_Click(sender As Object, e As EventArgs) Handles btnLoadDGVGeneral.Click
    dataGVGeneral.Rows.Clear()
    Try
        'New Variable: fname, represents File Path of CSV as String
        Dim fname As String = "E:\SAT\Work.io\Work.io\bin\Debug\ListofTasks.csv"
        Dim reader As New StreamReader(fname, Encoding.Default)
        Dim sline As String = ""
        Dim colsexpected As Integer = 7
        Dim r As Integer = 0

        sline = reader.ReadLine
        Do
            sline = reader.ReadLine
            If sline Is Nothing Then Exit Do
            Dim details() As String = sline.Split(",")
            dataGVGeneral.Rows.Add()
            For i As Integer = 0 To 7
                dataGVGeneral.Rows(r).Cells(i).Value = details(i)
            Next
            r = r + 1
        Loop
        reader.Close()
    Catch ex As Exception
    End Try
End Sub
Posted
Updated 26-Jul-20 3:40am
v3
Comments
[no name] 26-Jul-20 7:57am    
I assume the first sline = reader.ReadLine before the loop is to skip the column header info in the csv. So the question: Are there really more than 1 line of data in the csv?
Shaheer Rizwan 26-Jul-20 7:59am    
yes, there's actually 13 more lines in the CSV file. I've got no idea why it isnt printing the rest
[no name] 26-Jul-20 8:03am    
So I suggest to use the debugger and step through the code.
[no name] 26-Jul-20 8:22am    
What happens if you comment out the "try catch" stuff?
Shaheer Rizwan 26-Jul-20 8:49am    
I ran it without all the try stuff and this came up https://imgur.com/a/a7hUv17

1 solution

Almost certainly, it's been hidden by your error handling:
Never "swallow" exceptions:
Catch ex As Exception
End Try
Report them to the user, log them, do something with them, or don't bother with Try ... Catch at all.

When you swallow an exception, you throw away all the information that helps you fix a problem - you even throw away the fact that there was a problem in the first place, so it shows up later as a more serious and harder to identify and fix problem.

And we can't tell what is happening here as a result - and even if we could, we couldn;t test it because we don't have any access to your data.

So, it's going to be up to you.
Fortunately, you have a tool available to you which will help you find out what is going on: the debugger. If you don't know how to use it then a quick Google for "Visual Studio debugger" should give you the info you need.

Put a breakpoint on the first line in the function, and run your code through the debugger. Then look at your code, and at your data and work out what should happen manually. Then single step each line checking that what you expected to happen is exactly what did. When it isn't, that's when you have a problem, and you can back-track (or run it again and look more closely) to find out why.

Sorry, but we can't do that for you - time for you to learn a new (and very, very useful) skill: debugging!
 
Share this answer
 
v2
Comments
Shaheer Rizwan 26-Jul-20 8:04am    
so... should I try something else except of Try? Im a bit of a noob when it comes to coding and its for an assignment so im stressing so sorry if I wasn't thorough with explaining my problem
[no name] 26-Jul-20 8:05am    
Oooh so obvious and I don't see it :blush:. +5
Shaheer Rizwan 26-Jul-20 8:16am    
well i ran the debugger and went through it, and i still cant figure it out
OriginalGriff 26-Jul-20 8:28am    
It "went through it" because you swallow the exception. If you add a Catch block, that's saying "I know what I'm doing with this error, so don't worry about it" to the system. So it doesn't. Your app doesn't stop working, the debugger doesn't trigger a break for you. The error silently, and mysteriously slides away into the far distance so no one can see it. Your code goes wrong, and doesn't display what you expected it to, but you have no idea why.

So stop swallowing exceptions!

Put a breakpoint at the top of that method and single step your way through it. Almost certainly, it will "jump" from somewhere in that code to the Catch block - so you can look at the Exception object and see why it jumped there (you will already know from where it jumped).

Armed with that information, you should be able to work out why. But without it? Whistling in the dark ...
Shaheer Rizwan 26-Jul-20 8:44am    
I ran it by removing the Try statements, and this came up: https://imgur.com/a/a7hUv17

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900