Solved

Datagridview error

Posted on 2016-09-06
23
25 Views
Last Modified: 2016-09-13
Hello,
I get an error :
Row provided does not belong to this DataGridView control.
Parameter name: e.Row

Code:
 If con.State = ConnectionState.Closed Then
                    con.Open()
                End If
                com.Connection = con
                DataGridView1.VirtualMode = False
                'Commented out for messsage queue load on the server
                If DataGridView1.Rows.Count > 0 Then
                    'Commented out for messsage queue load on the server
                    For Each rw As DataGridViewRow In DataGridView1.Rows

                        com.CommandText = ("insert query" )


                        count = com.ExecuteNonQuery()
                        'Commented  for messsage queue load on the server
                        Application.DoEvents()
                        'Commented  for messsage queue load on the server

                        'Objwriter.WriteLine("Total Rows:" + count.ToString)
                        'Objwriter.Flush()

                        com.CommandTimeout = 725
                        com.ExecuteNonQuery()


                        Success = True
                    Next
                End If

Open in new window

0
Comment
Question by:RIAS
  • 13
  • 10
23 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786136
You might want to post the code where you get the error.  (you don't use e.row anywhere I see in your code snippet).
0
 

Author Comment

by:RIAS
ID: 41786143
I get error on     For Each rw As DataGridViewRow In DataGridView1.Rows

If con.State = ConnectionState.Closed Then
                    con.Open()
                End If
                com.Connection = con
                DataGridView1.VirtualMode = False
                'Commented out for messsage queue load on the server
                If DataGridView1.Rows.Count > 0 Then
                    'Commented out for messsage queue load on the server
                [b]    For Each rw As DataGridViewRow In DataGridView1.Rows[/b]

                        com.CommandText = ("insert query" )


                        count = com.ExecuteNonQuery()
                        'Commented  for messsage queue load on the server
                        Application.DoEvents()
                        'Commented  for messsage queue load on the server

                        'Objwriter.WriteLine("Total Rows:" + count.ToString)
                        'Objwriter.Flush()

                        com.CommandTimeout = 725
                        com.ExecuteNonQuery()


                        Success = True
                    Next
                End If

Open in new window

0
 

Author Comment

by:RIAS
ID: 41786183
error2 on the same line :

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:RIAS
ID: 41786184
Is there any check needed on the code?
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786185
With the exact error message you show in the question body?
0
 

Author Comment

by:RIAS
ID: 41786188
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
 on this
For Each rw As DataGridViewRow In DataGridView1.Rows
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786199
>>Index was out of range....

That message doesn't make sense with the line you say is generating the error.
0
 

Author Comment

by:RIAS
ID: 41786201
When i check for datagridview1.rows.count it shows zero
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786206
>>When i check for datagridview1.rows.count it shows zero

How on earth is it actually reaching the line giving the error then?
   
            If DataGridView1.Rows.Count > 0 Then
                    'Commented out for messsage queue load on the server
                   For Each rw As DataGridViewRow In DataGridView1.Rows
0
 

Author Comment

by:RIAS
ID: 41786207
I have no clue Andy,it is what  it is
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786217
Hmmmm.
Reboot your PC then check if it is still giving problems
0
 

Author Comment

by:RIAS
ID: 41786222
Andy,its a windows service.
The code is written on timer_click event.
When the timer _click is fired ..it leaves the loop and the cursor gets on Timer_Click ...
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786240
Please try rebooting the PC.  It is surprising just how many strange errors get cured by such a simple measure.
0
 

Author Comment

by:RIAS
ID: 41786249
OK..its a server cant  restart it , will have to wait till weekend
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786261
OK.


ps.  I know you have a good reason but why have you got a windows service interacting with a GUI ?
0
 

Author Comment

by:RIAS
ID: 41786276
I am debugging
0
 

Author Comment

by:RIAS
ID: 41786281
Also I need to know how I can make the timer_click wait till the looping of datagridview completes rather than just jumping on the timer_click event and leaving the loop
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41786292
I have a horrible feeling you are creating problems which won't exist in the real version.
0
 

Author Comment

by:RIAS
ID: 41787065
Why?
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 500 total points
ID: 41787228
Because, if I understand you correctly, you have added code just for debugging and it is this code that is giving the error.
0
 

Author Comment

by:RIAS
ID: 41787356
I have not added code ,its already there I am debugging it
0
 

Author Comment

by:RIAS
ID: 41790880
I've requested that this question be deleted for the following reason:

Neglected question.Please delete it
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41790881
I haven't neglected this.  You said yourself it would have to wait for the weekend to enable you to try a reboot.
0

Featured Post

Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
vb.net class 3 21
Iteration Help (Asp.net VB) 5 24
VB.net Duplicating a table - primary key not created 3 31
Install IIS7.5 on Windows Sever 2012 R2 4 23
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question