У меня есть следующий код:ComboBox не заполняя с кодом
Using conn = New SqlConnection(connStr)
Dim sql = "SELECT [CATEGORIA], [AREA] FROM [CATEGORIAS] WHERE ([AREA] = @AREA)"
Dim sqlCmd = New SqlCommand(sql, conn)
sqlCmd.Parameters.AddWithValue("@AREA", CStr(PublicLogin.Area))
conn.Open()
Dim ds As New DataSet
Dim da As New SqlDataAdapter(sql, conn)
da.Fill(ds, "CATEGORIAS")
With cboCat
.DataSource = ds.Tables("CATEGORIAS")
.DisplayMember = "CATEGORIAS_AREA"
.ValueMember = "CATEGORIAS_AREA"
.SelectedIndex = 0
End With
End Using
Она должна теоретически заполнить право поля со списком? Это не так. Это не дает мне никаких ошибок или чего-то еще; поле со списком просто там пусто. Я уверен, что запрос работает хорошо, и он захватывает правильную информацию, но Combobox не заполняется. Если я возьму запрос, он заполнит CB «System.Data.Row ...»
ОБНОВЛЕНИЕ: Рабочий код на случай, если кому-то это понадобится;
Using conn = New SqlConnection(connStr)
Dim sql = "SELECT [CATEGORIA], [AREA] FROM [CATEGORIAS] WHERE ([AREA] = @AREA)"
Dim sqlCmd = New SqlCommand(sql, conn)
sqlCmd.Parameters.AddWithValue("@AREA", CStr(PublicLogin.Area))
conn.Open()
Dim ds As New DataSet
Dim da As New SqlDataAdapter(sqlCmd)
da.Fill(ds, "CATEGORIAS")
With cboCat
.DataSource = ds.Tables("CATEGORIAS")
.DisplayMember = "CATEGORIA"
.ValueMember = "CATEGORIA"
.SelectedIndex = 0
End With
End Using
+1. Я не заметил, что 'sqlCmd' не используется до вашего ответа. Теперь я озадачен тем, как это не исключает ... – Neolisk
Вы были правы. Я взял часть запроса WHERE и теперь отобразил данные (благодаря ответу Неолиска). Я проверил точку останова на параметре, а переменная PublicLogin.Area правильно передала значение. Я не полностью понял ваше начальное предложение, хотя ... параметр находится в запросе (@AREA) или есть что-то очевидное, что я не хватает? (бывает со мной много). –
Я никогда не называю фактический sqlCMD. Goddangit.Где я должен добавить его правильно? –