将checkedlistbox中的选中值保存到数组并将其存储到mysql数据库

时间:2013-07-04 14:46:05

标签: vb.net

我已经将已检查的值存储在一个数组中,但是当只检查了一个项目并且我尝试保存它时,我收到一个错误:index超出了数组的边界,而检查了2个或更多的值将会有没有错误。请帮忙。

Dim count as Integer
Dim ListedItems As New ArrayList()
for count = 0 To (CLB1.Items.Count - 1)
    ListItems.Add(CLB1.GetItemText(CLB1.CheckedItems(count)).ToString)
    query("Insert Into accnts (accnts.IDNo, accnts.PayName) Values ('" & IDTB.Text &"','" & ListItems(count) & "')
    MsgBox("Record Saved",MsgBoxStyle.OkOnly)
Next

1 个答案:

答案 0 :(得分:0)

尝试仅对选中的项目进行理财,而不是复选框列表中的所有项目,如:

For Each indexChecked In CLB1.CheckedIndices 
    ListItems.Add(CLB1.Items(indexChecked).ToString)
    query("Insert Into accnts (accnts.IDNo, accnts.PayName) Values ('" & IDTB.Text &"','" & ListItems(ListItems.Count-1) & "')
    MsgBox("Record Saved",MsgBoxStyle.OkOnly)
Next

顺便说一句,你的查询容易受到sql注入的影响,请尝试使用参数来阻止一个链接here