Vb.net 如何清除DataGridView

Vb.net 如何清除DataGridView,vb.net,datagridview,Vb.net,Datagridview,当我使用用户凭据登录时(其中包括在DataGrid中输入为特定科目注册的学生分数并保存到SQL Server数据库的科目代码),当使用不同的科目代码登录时,在DataGrid中显示为学生创建的相同分数项 如果有人能修改下面的代码来解决这个问题,我将不胜感激 Private Sub dgMarksEntry_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgMarksEntry.Enter Try

当我使用用户凭据登录时(其中包括在DataGrid中输入为特定科目注册的学生分数并保存到SQL Server数据库的科目代码),当使用不同的科目代码登录时,在DataGrid中显示为学生创建的相同分数项

如果有人能修改下面的代码来解决这个问题,我将不胜感激

Private Sub dgMarksEntry_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgMarksEntry.Enter
    Try

        For i = 0 To dgMarksEntry.Rows.Count - 1
            cmd = New SqlCommand("select * from StudentDetails.MarksEntry where RegDNumber=" & Val(dgMarksEntry.Item(0, i).Value) & "  ", cn)

            dr = cmd.ExecuteReader
            If dr.Read Then
                dgMarksEntry.Item(2, i).Value = dr(1)
                dgMarksEntry.Item(3, i).Value = dr(2)
                dgMarksEntry.Item(4, i).Value = dr(3)
                dgMarksEntry.Item(5, i).Value = dr(4)
                dgMarksEntry.Item(6, i).Value = dr(5)
                dgMarksEntry.Item(7, i).Value = dr(6)
            End If
            dr.Close()
        Next
    Catch ex As Exception
        MessageBox.Show("MarksError:" & ex.Message)
    End Try

使用dgMarksEntry.Rows.Clear();当我使用dgMarksEntry.Rows.Clear时,出现了以下错误消息。”索引超出范围。必须为非负且小于集合的大小。请使用Rows.Add()添加新行。我已经这样做了,但新行只是添加到以前为其他主题创建的条目中。只需修改我的代码就可以了,看看我到底在哪里包含了你的建议。