Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从Datagridview中删除记录_Vb.net_Winforms_Datagridview - Fatal编程技术网

Vb.net 从Datagridview中删除记录

Vb.net 从Datagridview中删除记录,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,我在从datagridview中删除记录时遇到问题,因为每次我尝试删除记录时,它都会出错。错误显示“没有为一个或多个必需参数提供值”。 这是我的代码: Private Sub delete_Click(sender As Object, e As EventArgs) Handles delete.Click If Me.DataGridView1.Rows.Count > 0 Then If Me.DataGridView1.SelectedRows.Count

我在从datagridview中删除记录时遇到问题,因为每次我尝试删除记录时,它都会出错。错误显示“没有为一个或多个必需参数提供值”。 这是我的代码:

 Private Sub delete_Click(sender As Object, e As EventArgs) Handles delete.Click
    If Me.DataGridView1.Rows.Count > 0 Then
        If Me.DataGridView1.SelectedRows.Count > 0 Then
            Dim myPrimaryKey As Integer = Me.DataGridView1.SelectedRows(0).Cells("id").Value
            If Not cnn.State = ConnectionState.Open Then
                cnn.Open()
            End If

            Dim cmd As New OleDb.OleDbCommand
            cmd.Connection = cnn
            'cmd.CommandText = "DELETE * FROM attendance " & intemployeeno
            cmd.CommandText = "DELETE FROM VehicleDefects WHERE id=" & myPrimaryKey
            cmd.ExecuteNonQuery()
            Me.refreshdata()
        Else
            MessageBox.Show("Select 1 row before you hit Delete")
            cnn.Close()
        End If
    End If
End Sub
像这样试试

cmd.CommandText = "DELETE FROM VehicleDefects WHERE id='" & myPrimaryKey & "'"

我想你可能对我有问题


向我们显示refreshdata()子例程/函数的代码

多次
“一个或多个必需参数没有给定值”。
此错误是由于列名无效造成的。我建议您在
cmd.CommandText=“DELETE FROM VehicleDefects WHERE id=“&myPrimaryKey
line

中检查拼写,您的“id”列可能不是数字数据类型,如果不是,您需要将“myPrimaryKey”包装在刻度中。。。另外,最好将CommandText粘贴到一个虚拟查询中,然后运行它来查看发生了什么,并告诉您问题出在哪里。您介意解释一下为什么这样做会有效吗。这将是伟大的,因为OP可能不明白为什么这可能有效或无效;你没有解释你的答案。。。只是一个想法。嗯。。。不客气,但这不是最佳做法,而且很容易出现SQL注入。是的,我同意上述修复对整型字段没有用处。我现在已经设法解决了这个问题,这是因为commandtext中的列名拼写错误。