0

チェック済みの値を配列に保存しましたが、1 つのアイテムのみをチェックして保存しようとすると、エラーが発生します。インデックスが配列の範囲外にありましたが、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
4

1 に答える 1

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 インジェクションの影響を受けやすいので、ここで1 つのリンクを防ぐためにパラメーターを使用してみてください

于 2013-07-04T15:35:33.527 に答える