Must be non-negative and less than the size of the collection." After analyzing the output of my debugging I realized that my Grid View had 0 rows in my row Deleting and row Updating methods.This is the code in one of the methods: My first guess here is that you are changing the view of the page when you enter this event called gv Termene_Row Deleting. If it is, then you're probably losing the locally stored data that you pulled in from the initial SELECT statement you have placed somewhere else.I believe your best bet is to try to fit the statement that gives you gv Termene somewhere into your page_Load event.Hey Glonet, Apparently you don't have the procedure (gdv Aanvraag_Row Deleted) in the codebehind page. Row Deleted End Sub Private Sub gdv Aanvraag_Row Updated(By Val sender As Object, By Val e As System. I'm just wondering if the codebehind is not wired up properly or, if it's a website project, the codebehind declaration was used instead of the codefile (codebehind is web application project, codefile is website project). You should declare a sub gdv Aanvraag_Row Deleted() to catch the event and carry out some code. Private Sub gdv Aanvraag_Row Deleted(By Val sender As Object, By Val e As System. " Delete Command="DELETE FROM [tblaanvragen] WHERE [id] = @id" Insert Command="INSERT INTO [tblaanvragen] ([gebruiker], [begindatum], [einddatum], [aantal], [aanvraag]) VALUES (@gebruiker, @begindatum, @einddatum, @aantal, @aanvraag)" Select Command="SELECT [id], [gebruiker], [begindatum], [einddatum], [aantal], [aanvraag] FROM [tblaanvragen]" Update Command="UPDATE [tblaanvragen] SET [gebruiker] = @gebruiker, [begindatum] = @begindatum, [einddatum] = @einddatum, [aantal] = @aantal, [aanvraag] = @aanvraag WHERE [id] = @id" On Inserted="Sql Data Source1_Inserted"Imports System.