可以在vb.net中创建动态变量

时间:2012-12-05 16:26:35

标签: vb.net

我正在尝试动态创建变量。

我有一个包含复选框的列表框。用户从中选择项目,然后将选择添加到数据库中。他们可以从列表中选择任意数量的项目(1-7)。我已遍历所选项目并将其添加到arraylist。

我现在想要将每个选定的项目存储在另一个要添加到数据库中的变量中。这个想法是只使用一个插入语句,期望7个条目。如果用户只选择说2个项目,则插入这些项目以及5个空字符串。

    Dim part1 As String = ""
    Dim part2 As String = ""
    Dim part3 As String = ""
    Dim part4 As String = ""
    Dim part5 As String = ""
    Dim part6 As String = ""
    Dim part7 As String = ""

    'add selected items to an array
    For i = 0 To listPart.CheckedItems.Count - 1
        selected.Add(listPart.CheckedItems(i).Text)
    Next

我想做点什么:

    For j = 0 To selected.Count
        part+j = selected(j)
    Next

这样,如果用户没有选择所有7个项目,我应该有变量持有空字符串

2 个答案:

答案 0 :(得分:2)

我不认为可以创建或需要创建动态变量。

ArrayList,Array,List和Collection等对象支持添加项目(类似于描述添加动态变量的方式)

如果您要为列表视图中的每个项目添加数据库条目,您可以循环浏览列表视图

 For item as ListViewItem in listPart.Items
     'Save item.Text
 Next item

答案 1 :(得分:1)

你可以用反射来做到这一点,但这是不可取的。它很难调试,很难实现,并且可能导致访问限制的问题。

http://msdn.microsoft.com/en-us/library/6z33zd7h.aspx

System.Reflection.FieldInfo FI = T.GetField("part" & j);
FI.SetValue({your class name here},selected(j));