Это новая концепция для меня, и я не могу понять, что вызывает ошибку. Я пытаюсь заполнить элемент управления datagridview из одного поля в базе данных Access (из поля комбо и текста источник). Использование литералов работает, но не с параметром.Сбой SQL-параметра
Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Backend & ";Persist Security Info=False;")
Dim command As New OleDbCommand("Select Year from tblTest ", conn)
Dim criteria As New List(Of String)
If Not cboYear.Text = String.Empty Then
criteria.Add("Year = @Year")
command.Parameters.AddWithValue("@Year", cboYear.Text)
End If
If criteria.Count > 0 Then
command.CommandText &= " WHERE " & String.Join(" AND ", criteria)
End If
Dim UserQuery As New OleDbDataAdapter(command.CommandText, conn)
Dim UserRet As New DataTable
UserQuery.Fill(UserRet)
With frmDGV.DataGridView2
.DataSource = UserRet
End With
frmDGV.DataGridView2.Visible = True
frmDGV.Show()
Попытка заполнить строковое представление исключений «Нет значения для одного или нескольких требуемых параметров».
Значение command.CommandText в этой точке «Выбрать Год от tblTest КУДА Year = @Year»
выглядит как VB. Добавьте соответствующий тег на свой вопрос. –
Пробовал, но это не позволило мне – David