无法从数据库中删除

时间:2016-05-10 20:14:46

标签: sql-server database visual-studio-2013 delete-row

无法使用SQL Server从vb.net中的数据库中删除数据。

这是我删除的代码,你能告诉我哪里出错了吗?

表格的名称为OneToOne

 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    cn.Open()
    With cmd
        .Connection = cn
        .CommandText = " DELETE * FROM OneToOne WHERE SrNo = " & DataGridView1.SelectedRows(0).Cells(0).Value
        i = cmd.ExecuteNonQuery
    End With
    If (i > 0) Then
        MsgBox("Conversation Deleted")
    End If
    cn.Close()
    showdata()
End Sub

2 个答案:

答案 0 :(得分:2)

要一次删除所有行,您可以遍历所选行并构建逗号分隔的Cell(0)值字符串。

然后使用WHERE srNo =

而不是WHERE srNo IN ({your string})

至少,这是遵循当前方法的方法。更好的方法是将表值参数传递给存储过程,但这是您需要研究的广泛主题。

而且,与大多数编程问题一样,还有其他多种方法可以做到。

答案 1 :(得分:0)

on_button_click

s = "DELETE FROM OneToOne WHERE SrNo IN(val1,val2.....valn)" 
        cn.Open()
        cmd = New SqlCommand(s, cn)
        i = cmd.ExecuteNonQuery()
       If i > 0 Then
            MsgBox("yup")
        End If
        cn.Close()

val1,val2 ..是您的SrNo值。这是你如何检索/提供SrNo值