我试图从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
答案 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