JOIN 절을 실험하기 시작 했으므로 gridview의 여러 테이블에서 데이터를 표시 할 수 있습니다. 그러나 나는 내 인생이 내 실수가 무엇인지 알기가 어렵다. 나는 불린 테이블의 순서를 바꾸려고 노력했다. 이것은 내가 생각하기에, 일에 가장 가깝다. 나는 진술을 얻을 수있다. 이것은 근본적으로 작동하는 성명서의 똑 바른 사본이지만 여전히 효과가 없습니다.FROM 절 (JOIN)의 SQL - 구문 오류
도움을 주시면 감사하겠습니다. (코드에 VB.Net을 사용하고 있는데 데이터베이스에 문제가있을 수 있으며 구문에 대해 매우 까다 롭습니다. VS30으로 개발 중입니다.)
@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
액세스에서
"구문 오류 FROM 절에" – tvellalott
은'수 있습니다 "... WHERE guests.guestSurnmae = '"+ @guestSurname + "'"- 즉, guestSurname'는'경우 char 또는 varchar 필드를 사용하려면 작은 따옴표 '' '로 인용해야합니다. 다른 하나는 키워드 ('FROM','WHERE' 등) 사이에 공백이 있다는 것입니다. 사용중인 실제 VB.NET 코드를 게시 할 수 있습니까? – Tim
더 이상 Access에서 작업하지 마십시오.하지만 아마도''Parameters.AddWithValue'에서''guestSurname'' 대신''@guestSurname''을 사용하고 싶을 것입니다. 100 % 확실하지 않은 액세스는 명명 된 매개 변수를 지원합니다. 디버거를 단계별로 실행하고 'OleDbCommand'의 텍스트가 무엇인지 보시고, 매개 변수를 추가 한 후 - 그것이 맞는지 아닌지 보여줄 것입니다. – Tim