こんにちは私はユニプロジェクトが完了するまで数時間を残しています。
基本的なAccessデータベース駆動型の電子商取引サイトです。ホームページ、商品ページ、注文ページ、注文確認ページ、ショッピングカートページ、現在の注文ページを表示しています。このサイトでは、3つのテーブルを持つAccessデータベースが使用されています。顧客の詳細(FirstName、LastName、EmailAdd、CardNo、CardEx、SortCode、DeliveryAdd、Postcode)を含むCustomerテーブル
すべての製品情報(ProductID、ProductName、Price、ProductType、 Images、ProductDescription)。 顧客IDと商品IDを含む注文テーブル。 注文ページが機能するようになったので、注文確認ページが表示され、顧客が今置いた詳細が表示されます。 注文確認ページのロードイベントはここまでです。注文した顧客の注文を表示する方法
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strDatabaseNameAndLocation As String
strDatabaseNameAndLocation = Server.MapPath("KingToots.mdb")
Dim strSQLCommand As String
strSQLCommand = "SELECT Customer.*, Products.ProductName FROM Customer" & _
"INNER JOIN Products ON Customer.CustomerID = Orders.CustomerID ORDER BY Customer.CustomerID DESC;"
Dim objOleDbConnection As System.Data.OleDb.OleDbConnection
objOleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & strDatabaseNameAndLocation)
objOleDbConnection .Open()
Dim objOleDbCommand As System.Data.OleDb.OleDbCommand
objOleDbCommand = New System.Data.OleDb.OleDbCommand(strSQLCommand, objOleDbConnection)
Dim objOleDbDataReader As System.Data.OleDb.OleDbDataReader
objOleDbDataReader = objOleDbCommand.ExecuteReader()
Dim datDataTable As System.Data.DataTable
datDataTable = New System.Data.DataTable()
datDataTable.Load(objOleDbDataReader)
gdvOrderdetails.DataSource = datDataTable
gdvOrderdetails.DataBind()
objOleDbConnection.Close()
End Sub
これは、「FROM句の構文エラー」というエラーを返します。私は自分のSQLコードが間違っていると推測しています。注文ページに注文を入れたときに、Accessデータベースにエントリを追加したところに、生成されたCustomerIDがcustomersテーブルで12、ordersテーブルで4であったことに気付きました。これらの数字は、生成されたときに同じではありませんか?前もって感謝します。
あなたのINNER JOINが正しく表示されません。 'Customer.CustomerID = Orders.CustomerID'で' Productsに参加する?実際には、クエリのOrdersテーブルを参照していません。 –
これで、INNER JOINを使用する前に、Ordersテーブルからすべてを選択する必要がありますか? – Keys