繁体   English   中英

使用唯一 ID 循环?

[英]Loop with Unique ID?

我有一个数据库(使用 SQLite),它的 ID 有一个带有 autoinc 的主键,它将值加载到列表框控件中。 如果我正常循环遍历数据库,将数据库的值添加到我的列表框中,我无法使用SelectedIndex获取ID ,因为Index并不总是与ID相同, ID也不会总是Index . 当我想根据SelectedIndex查询删除行时,这会很痛苦。

我想按ID删除该行,但我无法通过我使用的循环获取该ID (或者我可以吗?帮助我发挥创意!)。 是否有一些我可以使用的隐藏字段类型属性?

这取决于您将什么作为项目添加到列表框中。 如果您只是添加纯字符串,则无法返回 ID。 您需要的是一个包含 ID 和您想要显示的值的类。 您可以通过覆盖 ToString 方法来显示该值。 我的 VB 有点生疏,但这是一个伪示例:

Class Item
    Property ID as Integer
    Property Name as String

    Sub New(ID as Integer, Name as String)
        Me.ID = ID
        Me.Name = Name
    End Sub

    Overrides Function ToString() as String
        Return Name
    End Function
End Class

使用类:

Box.Items.Add(new Item(ID, Name))
For Each Item as Item in Box.Items
    Delete(Item.ID)
End For

如果你想在列表框中循环,你应该这样做

    Dim myBox As New ListBox
    For Each item In myBox.Items
        'do stuff with item
    Next

确保在项目级别或类级别有选项infer ON

您永远不能依赖SelectIndex对您的数据库进行奇偶校验; 您应该使用SelectedValue并将您的数据库 ID 用作ListItem值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM