2017-02-17 4 views
0

ProgramПрисоединение 3 таблицы в SQL и Visual Basic

Database

Public Class frmSelect 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim ds As New DataSet 
     Dim da As Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter("SELECT tblStudInfo.LastName AS myName, tblAddress.Address AS myAddress, tblCourses.CourseName AS myCourse FROM tblStudInfo INNER JOIN tblAddress ON tblStudInfo.AddressID = tblAddress.AddressID INNER JOIN tblCourses ON tblStudInfo.CourseCode = tblCourses.CourseCode WHERE tblStudInfo.StudID = '01-2016-003'", mConnection.myConn) 
     da.Fill(ds, "tblStudInfo") 

     Me.TextBox1.Text = ds.Tables("tblStudInfo").Rows(0)("myName").ToString 
     Me.TextBox2.Text = ds.Tables("tblStudInfo").Rows(0)("myAddress").ToString 
     Me.TextBox3.Text = ds.Tables("tblStudInfo").Rows(0)("myCourse").ToString 

    End Sub 
End Class 

Я использую Visual Basic ... У меня есть 3 таблицы в базе данных. Я пытаюсь присоединиться к 3 таблицам и передать их в свой Dataset с именем ds. Но я получил Синтаксическую ошибку с помощью команды SQL, которую я предоставил. У меня не было ошибок при подключении к двум таблицам, но когда я попытался объединить 3 таблицы с кодом, который я привел выше, он больше не работает.

+0

Какая ошибка вы получаете? –

+0

Если вы используете MS Access, дополнительные скобки необходимы для второго соединения. – jarlh

+0

Ошибка синтаксиса SQL: – aer

ответ

0

Поскольку 2 соединения работают, а не 3, и что ваш оператор SQL является синтаксически правильным, я подозреваю, что ваша бэкэнд-БД является доступом к MS. Если это так, вы должны окружать свои JOINs круглыми скобками:

SELECT tblStudInfo.LastName AS myName, tblAddress.Address AS myAddress, tblCourses.CourseName AS myCourse 
FROM ((tblStudInfo 
INNER JOIN tblAddress ON tblStudInfo.AddressID = tblAddress.AddressID) 
INNER JOIN tblCourses ON tblStudInfo.CourseCode = tblCourses.CourseCode) 
WHERE tblStudInfo.StudID = '01-2016-003' 
Смежные вопросы