Просто начала экспериментировать с предложением JOIN, чтобы я мог отображать данные из нескольких таблиц в gridview. Тем не менее, я не могу для жизни меня понять, что моя ошибка здесь. Я попытался переключить порядок имен таблиц, называемых столбцами, и это не имеет успеха. Это, я думаю, ближе всего к работе, я могу получить утверждение. Это в основном прямая копия предположительно рабочего заявления, но все же не работает.SQL - Синтаксическая ошибка в FROM FROM (JOIN)
Любая помощь приветствуется. (Я использую VB.Net для кодирования, Access '13 как базу данных (которая может быть частью проблемы, я читал ее очень тонко о синтаксисе) и разрабатывал с VS 2013.)
@tim : в соответствии с запросом, вот полный подпункт.
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
If cbSearchType.Text = "Guest Surname" Then
Dim searchSQL As String = "SELECT bookings.bookingStartDate, bookings.bookingEndDate, guests.guestFirstName, guests.guestSurname, locations.locationName FROM bookings JOIN guests ON guests.guestID = bookings.guestID JOIN locations ON locations.locationID = bookings.locationID WHERE guests.guestSurname = @guestSurname"
Dim searchCommand = New OleDbCommand(searchSQL, globalVariables.objConnection)
Dim searchAdapter As New OleDbDataAdapter(searchSQL, globalVariables.objConnection)
Dim searchDataTable As New DataTable
searchCommand.Parameters.AddWithValue("guestSurname", tbSearchTextBox.Text)
searchAdapter.SelectCommand = searchCommand
searchAdapter.Fill(searchDataTable)
globalVariables.objConnection.Open()
searchAdapter.Fill(searchDataTable)
gvSearchResults.DataSource = searchDataTable
globalVariables.objConnection.Close()
ElseIf cbSearchType.Text = "Location" Then
ElseIf cbSearchType.Text = "Booking Start Date" Then
ElseIf cbSearchType.Text = "Booking End Date" Then
End If
End Sub
End Class
"Синтаксическая ошибка в предложении FROM" – tvellalott
Может быть '» ... WHERE guests.guestSurnmae = «» + @guestSurname + "'" - то есть, если 'guestSurname' является char или varchar, вам нужно указать его одинарными кавычками '' '. Другое дело, чтобы проверить, что у вас есть пробелы между ключевыми словами ('FROM',' WHERE' и т. Д.). Можете ли вы опубликовать фактический код VB.NET, который вы используете? – Tim
Не работайте с Access гораздо больше, но вы, вероятно, захотите использовать '' @guestSurname '' вместо '' guestSurname '' в своем 'Parameters.AddWithValue'. Не 100% уверен, что Access также поддерживает именованные параметры. Попробуйте пройти через отладчик и посмотреть, что текст «OleDbCommand» после добавления параметра - должен показать вам, правильно это или нет. – Tim