将列表视图条目获取到要从数据库中删除的变量

时间:2015-04-08 18:22:36

标签: sql vba listview

我想要的是将选定的列表视图项放入变量中。更重要的是选中的特定条目,以便我可以从数据库中删除它。

我的代码:

For Each i As ListViewItem In lstViewMembers.SelectedItems
        lstViewMembers.Items.Remove(i)
        Dim Remove As String
        Remove = lstViewMembers.Items(0)

        sql = "DELETE FROM tblMembers WHERE Name = '" & Remove & "'"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "Remove")
    Next

名称是列表视图中的第二列,如何使用名称从数据库中删除所选人员?

谢谢,

安迪

1 个答案:

答案 0 :(得分:0)

我假设con是一个活动且开放的连接,而不仅仅是一个连接字符串。

为了1)做出最小的改变,2)从数据库中删除它,3)将删除的项留在VB列表中,这就是我要做的。我对DataAdapters非常不熟悉 - 我知道有一种方法可以删除它们,但我还没有使用它。

Dim Remove As String
For Each itemToDelete As ListViewItem In lstViewMembers.SelectedItems
    Remove = itemToDelete.Text 

    sql = "DELETE FROM tblMembers WHERE Name = '" & Remove & "'"

    SqlCommand cmd = New SqlCommand (sql, con)
    cmd.ExecuteNonQuery()
Next

确保之后关闭并删除连接 - 连接很昂贵。有关这种方法,请参阅https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

为了降低sql注入风险,请在此处查看参数的使用https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters%28v=vs.110%29.aspx