如何使用Windows窗体(vb.net)将数据库单列行存储到数组中

时间:2019-03-12 13:39:52

标签: mysql arrays database vb.net

我试图从MySql数据库中选择字符串值,然后将它们放入字符串数组中,以便可以在该数组上执行循环语句。

但是我不知道如何将查询结果放入数组中。我知道如何查询数据库,但我所需要的只是如何将结果放入数组中。

我的select语句是从menuitem中选择Select ItemName。我想将ItemName放在文本框数组中。

读取数据的整个代码是:

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Public Property TBMenuItemNameArray As TextBox
Private Sub Cashier_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    GetItemName()
End Sub
Public Function GetItemName() As String()
    TBMenuItemNameArray = New TextBox
    Dim output As New List(Of String)()
    con.Open("Dsn=Invintory;uid=root")
    rs.Open("Select ItemName From menuitem", con, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
    output.Add(rs.GetString())
    rs.Close()
    con.Close()
    Dim ItemNameArray = Me.GetItemName()
    For Each item As String In ItemNameArray
        TBMenuItemNameArray.Text = item
        TableLayoutPanel1.Controls.Add(TBMenuItemNameArray)
    Next
    Return output.ToArray()
End Function

1 个答案:

答案 0 :(得分:1)

这里是使用ADO.net的一种方法的快速示例。您将需要将MySql nuget包添加到项目中。然后在代码文件的顶部添加var cloudwatch = new AWS.CloudWatch(); var params = { Dimensions: [ { Name: 'STRING_VALUE', /* required */ Value: 'STRING_VALUE' }, /* more items */ ], MetricName: 'STRING_VALUE', Namespace: 'STRING_VALUE', NextToken: 'STRING_VALUE' }; cloudwatch.getMetricWidgetImage(params, function (err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); cloudwatch.listMetrics(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });

Imports MySql.Data.MySqlClient块可确保即使发生错误也可以关闭和处置数据库对象。

您的代码使用Using...End Using关键字创建一个TextBox,并在每次迭代时覆盖New属性;在每次迭代中向面板添加相同的文本框。

为了显示,我只是将所有ItemName字符串添加到.Text中。

由于您不使用该函数的返回值,因此将其更改为Sub。

ListBox