首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅从Access数据库中删除选定的ListView项

仅从Access数据库中删除选定的ListView项
EN

Stack Overflow用户
提问于 2020-04-20 14:32:33
回答 1查看 264关注 0票数 0

我在access数据库中有库存接收表,在这里productID被多次重复。我可以在listview中填充这些数据。当前,当我选择列表视图中的任意一行并按删除按钮时,所选产品id的所有条目都将从listview以及从数据库中从开始到结束被删除。我想要的是,如果我选择列表视图中的任何项目并按删除按钮,只应该删除所选的行表格列表视图和数据库中的所有内容,即使它是相同的产品。如果可以的话,请帮助我吗?请看下面的代码。

代码语言:javascript
复制
Private Sub Button9_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button9.Click

    Dim item1 As ListViewItem
    item1 = ListView1.SelectedItems(0)
    Dim Del As DialogResult
    Del = MessageBox.Show("Are you sure you want to delete the record", "Delete Record", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Del = DialogResult.Yes Then
        'Dim item As ListViewItem
        con.Open()
        Dim sql As String = "DELETE FROM Receipt WHERE ProductID='" & item1.SubItems(0).Text & "'"

        With cmd
            .CommandText = sql
            .Connection = con
            .ExecuteNonQuery()
        End With
        MsgBox("Record Removed", MsgBoxStyle.Information)
    End If
    con.Close()
End Sub
EN

回答 1

Stack Overflow用户

发布于 2020-04-21 16:27:00

如果没有看到关于你的背景和设计的所有相关信息,很难确定它能帮助你解决问题,但是有两件事会从你的帖子中跳出来。

您已经声明您的数据库已重复多次ProductID。这可能正是你想要的,但表面上,你可以选择一个ProductID通常是一个唯一的数字的位置。您没有声明ProductID是键字段,但通常ID是唯一的键字段。但这可能会导致多条记录同时被删除,因为.

"DELETE FROM Receipt WHERE ProductID='"特别要求删除记录,不管ProductID规范是什么。因此,使用该ProductID的所有记录都可以被删除。如果你只想删除一条记录,你必须有一个唯一的标识符,是吗?如果只想删除唯一的记录,则需要在ListView中包含唯一的记录标识符(即使隐藏)。

请建议这是否有帮助,或返回一个问题集中在你的问题。

在下面的注释之后添加了:,SQL /命令也需要受到购买订单#的限制。上面的SQL仅基于WHERE ProductID=something进行选择。您还需要根据采购订单号进行选择,以便删除更多唯一的内容。

比如: ProductID=something和PO=something

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61325032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档