Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
Sql 在变量中获取列表视图条目以从数据库中删除_Sql_Vba_Listview - Fatal编程技术网

Sql 在变量中获取列表视图条目以从数据库中删除

Sql 在变量中获取列表视图条目以从数据库中删除,sql,vba,listview,Sql,Vba,Listview,我试图将所选列表视图项放入变量中。更重要的是,在选定的数据库中有一个特定的条目,以便我可以将其从数据库中删除 我的代码: For Each i As ListViewItem In lstViewMembers.SelectedItems lstViewMembers.Items.Remove(i) Dim Remove As String Remove = lstViewMembers.Items(0) sql = "DELET

我试图将所选列表视图项放入变量中。更重要的是,在选定的数据库中有一个特定的条目,以便我可以将其从数据库中删除

我的代码:

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
名称是列表视图中的第二列,如何使用该名称将所选人员从数据库中删除

谢谢


Andy

我假设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
确保随后关闭并拔下连接-连接费用高昂。有关实现此目的的方法,请参见


为了降低sql注入风险,请在此处查看参数的使用

许多问题:1通过说出where name='variable'来设置sql注入请参见2使用旧的联接语法请参见3尝试从活动列表中删除列表成员会混淆它-4我认为dataAdapter不会在delete语句中填充任何内容。有关使用联接删除的答案,请参见.1-无所谓。第二,我现在已经删除了另一个表,所以这并不重要。第三-好的。。。4这有点帮助^i您根本没有真正帮助过我+以上任何一项都没有帮助,因为我需要删除所选的。主要问题是这行Remove=lstViewMembers。Itemsi它表示重载解析失败,因为没有可访问的“Item”可以通过引用这些参数来调用更新答案-它试图使用i作为列表,而不是特定项。