Вы можете создать класс для хранения ваших данных. Вы можете добавить столько свойств, сколько вам нужно, чтобы соответствовать полям в таблице базы данных. Я добавил пользовательский конструктор, чтобы упростить настройку свойств при создании нового продукта. Я переопределил .ToString, потому что список вызывает .ToString для добавляемых объектов.
Public Class Product
Public Property ProductName As String
Public Property Price As Decimal
Public Sub New(Name As String, ProductPrice As Decimal)
ProductName = Name
Price = ProductPrice
End Sub
Public Overrides Function ToString() As String
Return ProductName
End Function
End Class
Создайте список уровней формы для хранения списка данных вашего продукта.
Получить данные и сохранить каждую запись в списке.
Private lstProduct As New List(Of Product)
Private Sub GetData()
Using cn As New MySqlConnection("Your connection string")
Using cmd As New MySqlCommand("Select * From Products;", cn)
cn.Open()
Using dr As MySqlDataReader = cmd.ExecuteReader
While dr.Read
Dim p As New Product(dr.GetString(0), dr.GetDecimal(1))
lstProduct.Add(p)
End While
End Using
End Using
End Using
End Sub
После получения данных вы можете использовать список в качестве источника данных для ListBox.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
GetData()
ListBox2.DataSource = lstProduct
End Sub
Теперь у вас есть все свойства продукта, доступные в ListBox.
Private Sub ListBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox2.SelectedIndexChanged
Dim p As Product = DirectCast(ListBox2.SelectedItem, Product)
Dim ProductPrice As Decimal = p.Price
Debug.Print(ProductPrice.ToString)
End Sub