Прошу вас, мне очень нужна ваша помощь. У меня есть следующий код, который возвращает таблицу из доступа ms, отображаемого в виде сетки данных, на основе ввода пользователя. Но когда я попытался запустить его, я столкнулся с ошибкой «Синтаксическая ошибка (запятая) в выражении запроса« lastname = », firstname = '', midname = '' '." Пожалуйста, помогите мнеОшибка синтаксиса: Запятая Выражение запроса SQL-запроса
вот мой код.
Dim sql As String = "SELECT `lastname` as 'FAMILY NAME',`firstname` as 'NAME', `midname` AS 'MIDDLE NAME', `sex` as 'SEX', `birthdate` as 'BIRTHDAY', `Address` as 'ADDRESS', `barangay` AS 'BARANGAY', `patientID` AS 'PID' FROM `tblinformation_offline` WHERE lastname = '" & TextBox1.Text & "' , firstname = '" & TextBox3.Text & "' , midname = '" & TextBox4.Text & "' "
Dim cn As New OleDbConnection(constring)
cn.Open()
Dim da As New OleDbDataAdapter(sql, cn)
Dim ds As New DataSet
da.Fill(ds, "AccessData")
cn.Close()
With Me.DataGridView1
.DataSource = ds
.DataMember = "AccessData"
End With
ds = Nothing
da.Dispose()
cn = Nothing
Много проблем здесь. Но я бы начал рассматривать, как вы пишете предложение WHERE. Проверьте руководство по базе данных (или любое онлайн-руководство по SQL) – Steve
Что такое БД, Access или MySQL - это две очень разные вещи. Вы должны использовать параметры SQL вместо конкатенации строк для запроса. Надеюсь, никто не назван 'D'Artagnan' или' O'Brien' – Plutonix
@Steve, как предложение WHERE ошибочно? –