Select 并将多行值从列表视图插入数据库

Select and insert multiple row values from a listview to a database

我对我的代码进退两难,我想 select 来自 ListView 的多个值,示例 table:

号码-|姓名------|姓氏
1--------|特拉维斯------|史蒂夫
2--------|克劳迪奥----|桑切斯
3--------|韦斯--------|风格

像这样。我希望我的 ListView 能够 select 多行,所以在我的示例中,我将只 select Travis 和 Wes,当我单击一个按钮时,我应该能够将数字插入到数据库中仅限 1 和 3。

任何片段对我来说都是飞跃式的帮助。提前谢谢你。

这是我当前的代码:

    Try
        For Each item As ListViewItem In ListView1.SelectedItems
            Dim StudentID = Integer.Parse(item.SubItems(0).Text)
            Dim FirstName = item.SubItems(1).Text
            Dim LastName = item.SubItems(2).Text
            DBConn()
            SQLSTR = "INSERT INTO '" & TextBox4.Text & "' (StudentID, FirstName, LastName) VALUES ('" & StudentID & "', '" & FirstName & "', '" & LastName & "') "
            alterDB()
            MsgBox("Students succesfully added", msgboxtitle)
        Next
    Catch ex As Exception
    End Try
    SQLCONN.Close()

但我当前的代码仅将最后单击的条目插入到我的 ListView 中。任何想法,将不胜感激。谢谢!

首先,将ListView.MultiSelect设为真。 这允许用户 select 列表视图中的多个项目。

单击按钮后,您可以像这样遍历 selected 项目:

For Each item As ListViewItem In listView.SelectedItems
    Dim number = Integer.Parse(item.SubItems(0).Text)
    Dim name = item.SubItems(1).Text
    Dim Surname = item.SubItems(2).Text

    'Add data to database
Next

LINQ 方法:

Dim selectedEntries = From item In listView.SelectedItems
                      Select New With
                        {
                            .number = Integer.Parse(item.SubItems(0).Text),
                            .name = item.SubItems(1).Text,
                            .Surname = item.SubItems(2).Text
                        }