0

フォームにリストビューがあります。ユーザーがアイテムコードを入力するたびに、リストビューにリストされます。私がやりたいのは、ユーザーが現金を入力したときであり、システムが変更を計算した後、データベース レコードで購入したアイテムを差し引きたいと考えています。今のところ、私はこのコードを持っています:

    Do While tmp <= ListView1.Items.Count

        Do While a <= ds.Tables("ItemInfo").Rows.Count               

            it = ListView1.Items(tmp - 1).SubItems(0).Text
            qt = ListView1.Items(tmp - 1).SubItems(3).Text


            If it = ds.Tables("ItemInfo").Rows(a).Item("ItemCode") Then
                'MsgBox(ds.Tables("ItemInfo").Rows(a).Item("ItemCode"))
                ct = ds.Tables("ItemInfo").Rows(a).Item("Qty")
                nw = Convert.ToInt32(ct) - Convert.ToInt32(qt)
                MsgBox(nw)
                con1.Open()
                mycommand = New SqlCommand("update ItemInfo set Qty='" & nw & "' where ItemCode='" & it & "'", con1)
                mycommand.ExecuteNonQuery()
                con1.Close()

                'Exit Do

                'Else


            End If
            a = a + 1
        Loop

        tmp = tmp + 1

    Loop

しかし、問題は、リストビュー内のすべてのアイテムを差し引いていないことです。データベースで控除されているのは、常にリストビューの最初の行です。問題がループにあるかどうかはわかりません。前もって感謝します :)

4

1 に答える 1

0

を使用しforeachて、ListView

For Each i As ListViewItem In listView1.Items

Next
于 2013-02-16T16:09:10.030 に答える