Я хотел бы заполнить combobox с помощью динамического запроса. Для этого был создан внешний класс под названием sqlcnn. Этот класс определяет соединение с базами данных sql и работает правильно. Здесь ниже код:Как создать динамический запрос для базы данных sql в vb.net
Imports System.Data.SqlClient
Открытый класс sqlcnn
Public cnn As New SqlConnection("Data Source=(local)\sqlexpress...)
Public Command As SqlCommand
Public txt() As String
Public i As Integer
Public Sub execute_command(ByVal query As String)
Try
cnn.Open()
Command = New SqlCommand(query, cnn)
Dim readerr = Command.ExecuteReader
ReDim txt(readerr.FieldCount - 1)
While readerr.Read
For i = 0 To readerr.FieldCount - 1
txt(i) = readerr.Item(i)
Next i
End While
MsgBox("Connection Open ! ")
cnn.Close()
Catch ex As Exception
MsgBox("Can not open connection ! ")
End Try
End Sub
End Class
Если я изменить код выше, добавив в цикл одна строка больше:
For i = 0 To readerr.FieldCount - 1
txt(i) = readerr.Item(i)
ComboBox1.Items.Add(txt(i))
Next i
I может сразу заполнить поле со списком без каких-либо проблем.
Проблема в том, что я пытаюсь заполнить combobox из основного класса Form1. Этот класс определяет один combobox1 и одну кнопку. Здесь ниже код:
Imports System.Data.SqlClient
Открытый класс Form1
Private Sql As New sqlcnn
Dim i As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Sql.execute_command("select Car from shopcars")
For i = 0 To (Sqlpol.txt.Length - 1)
ComboBox1.Items.Add(Sqlpol.txt(i))
Next i
End Sub
End класса
Результатом является то, что в выпадающем списке мы можем видеть только последний элемент моей базы данных. Полностью, у меня нет идеи, как правильно построить цикл. Я благодарен за помощь.
спасибо!
Если вы новичок и хотите ускорить разработку, используйте pocoorm – jewelhuq