0

tl;dr将 SQL 查询的内容复制到数组或字符串或列表框的方法。单列,多行。

从事一个小项目以获得额外的课程学分。目前在 Visual Studio 2010 中开发。本质上是一个交互式菜单,用户可以在其中选择项目并将它们添加到内置列表中,它将计算总营养信息和成本等。

但是我有一个问题。当用户到达订单构建器页面时,他们可以选择他们想要购买的商品类型。

例如

牛肉

单击此按钮应该会填充一个包含所有相关项目的列表框。

我希望通过数据库连接来做到这一点。我目前有一个嵌入式数据库。

我尝试过两种方法,但都证明不成功,或者我只是做错了。

第一种方法。

 Dim index As Integer = 0
    Dim length As Integer = adapter.productscounter()
    ' Small query that works out total number of rows.

    For index = 0 To length
        ListBox1.Items.Add(adapter.SelectBeef(index))


    Next

这给了我错误:

位置 0 处没有行。

我似乎无法解决。该查询在试用执行时运行,而他们的东西是他们的。

索引超出范围异常

我尝试的另一种方法是类似的代码,但是使用一个数组,然后将其内容复制到列表框中。

    Dim index As Integer
    Dim test(5)
    Dim length As Integer = adapter.productscounter()
    Dim counter As Integer


    For index = 0 To length

        test(index) = adapter.SelectChicken()
        counter = counter + 1

    Next


    For counter = 0 To length
        ListBox1.Items.Add(test(index))

    Next

生成:

Argument nullexception 

Value cannot be null.
Parameter name: item.
4

1 回答 1

0

在 Visual Basic 中,标准是从元素 1 开始列表,而不是元素 0。您可以尝试:

For index = 1 To length
    ListBox1.Items.Add(adapter.SelectBeef(index))
Next

当然,我不知道该SelectBeef方法的作用。

于 2012-05-26T18:38:12.540 回答