我有两个列表视图,lvNum
有一个列,lvList
有8列。我想lvList
通过我的Access数据库填充我的数据库lvNum
。如果单击lvNum
,lvList
则将从数据库中添加我的项目。如果在lvList
填充后单击一次,但是在单击另一个单元格时出现错误
InvalidArgument =值'0'对于'索引'无效。
这是我的代码,将记录加载到我的所有列表视图中
Public Sub loadRecord(lv As ListView, sql As String, noOfIndex As Integer)
Try
lv.Items.Clear()
Dim lvcmd As OleDbCommand = New OleDbCommand(sql, konek)
Dim lvdr As OleDbDataReader = lvcmd.ExecuteReader
If lvdr.HasRows Then
While lvdr.Read
Dim newLv As New ListViewItem
newLv.Text = lvdr.GetValue(0)
For item As Integer = 1 To noOfIndex
newLv.SubItems.Add(lvdr.GetValue(item))
Next
lv.Items.Add(newLv)
End While
End If
Catch ex As Exception
MsgBox(ex.Message, , "Load Record Error")
End Try
End Sub
我在lvNum selectedIndexChanged事件中称该子
Private Sub lvNum_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvNum.SelectedIndexChanged
'this is where I get my error
Dim joindRecord As String = "SELECT tblProducts.prodName,tblProducts.prodCode,tblProducts.Description," & _
"tblProducts.prodCost,tblPurchaseOrder.POQty,tblPurchaseOrder.PODiscount, tblPurchaseOrder.total," & _
"tblPurchaseOrder.prodID,tblProducts.prodID,tblPurchaseOrder.PONumber " & _
"FROM tblProducts INNER JOIN tblPurchaseOrder ON tblProducts.prodID = tblPurchaseOrder.prodID " & _
"WHERE tblPurchaseOrder.PONumber ='" & lvNum.SelectedItems.Item(0).Text & "'"
Call loadRecord(lvList, joindRecord, 7)
End Sub
我想通了我添加了这段代码
If lvPO.SelectedItems.Count <> 0 Then
'code goes here
End If
所以代码是这样的
Private Sub lvNum_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvNum.SelectedIndexChanged
If lvPO.SelectedItems.Count <> 0 Then
Dim joindRecord As String = "SELECT tblProducts.prodName,tblProducts.prodCode,tblProducts.Description," & _
"tblProducts.prodCost,tblPurchaseOrder.POQty,tblPurchaseOrder.PODiscount, tblPurchaseOrder.total," & _
"tblPurchaseOrder.prodID,tblProducts.prodID,tblPurchaseOrder.PONumber " & _
"FROM tblProducts INNER JOIN tblPurchaseOrder ON tblProducts.prodID = tblPurchaseOrder.prodID " & _
"WHERE tblPurchaseOrder.PONumber ='" & lvNum.SelectedItems.Item(0).Text & "'"
Call loadRecord(lvList, joindRecord, 7)
End If
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句