2017-02-17 10 views
0

Program私はVisual Basicのを使用しているSQLで3つのテーブルの結合および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 

...私は、データベース内の3つのテーブルを持っています。 3つのテーブルを結合し、それをdsという名前のデータセットに渡そうとしています。しかし、私が提供したSQLコマンドで構文エラーが発生しました。 2つのテーブルを結合する際にエラーは発生しませんでしたが、上記で提供したコードで3つのテーブルを結合しようとすると、もはや機能しません。

+0

エラーは何ですか。 –

+0

MS Accessを使用している場合は、2回目の結合に余分なカッコが必要です。 – jarlh

+0

SQLの構文エラー – aer

答えて

0

2つのジョインが動作し、3ではなく、SQL文が構文的に正しいため、バックエンドのDBがMSアクセスであると思われます。その場合は、括弧で囲んでJOINを囲む必要があります。

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' 
関連する問題