0

[削除] ボタンがあり、そのボタンをクリックして、選択した行を gridview とデータベースから削除しようとしています。しかし、次のコードがあると、Argument out of range のようなエラーが発生し、int に変換されます。

 Private Sub dltButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dltButton.Click
        'Dim StudentId As String
        'StudentId =
        'con.Open()
        'cmd.CommandText = "delete from KaiyumVbStudent where StudentID = '"&StudentId&"'"
        'cmd.Connection = con
        Dim i As Integer = DataGridView1.SelectedRows(0).Index
        DataGridView1.Rows.Remove(DataGridView1.SelectedRows(0))
        con = New SqlConnection(constring)
        con.Open()
        Me.StudentID = Convert.ToInt32(DataGridView1.SelectedRows(0).Index)
        cmd = New SqlCommand("Delete from KaiyumVbStudent where StudentID = '@StudentID'", con)
        cmd.ExecuteNonQuery()
        Call databind()

Private Sub databind()
        con = New SqlConnection(constring)
        con.Open()
        cmd = New SqlCommand("Select *from KaiyumVbStudent", con)
        Dim dr As SqlDataReader = cmd.ExecuteReader()
        dt = New DataTable()
        dt.Load(dr)
        Me.DataGridView1.DataSource = dt
    End Sub
4

1 に答える 1

0

まず、コードをtry catchステートメントに入れて、学生IDデータ型を確認します。1つのステートメントがありませんcmd.Parameters.AddWithValue( "@ StudentID"、StudentID); 仕事だといいのですが。

于 2012-09-27T05:29:32.660 に答える