我的表单中有一个列表视图。每次用户输入项目代码时,它都会在列表视图中列出。我要做的是当用户输入现金时,系统计算出找零后,我想在数据库记录中扣除购买的物品。截至目前,我有这个代码:
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
但问题是它没有扣除列表视图中的所有项目。它始终是列表视图中的第一行,谁在数据库中被扣除。我不知道问题是在循环还是什么。先感谢您 :)