嗨,距离大学项目到期还有几个小时。
这是一个基本的 Access 数据库驱动的电子商务网站。我有一个主页、一个产品页面、一个订单页面、一个订单确认页面、一个购物车页面和一个查看当前订单页面。该站点使用具有三个表的 Access 数据库。包含所有客户详细信息的客户表(FirstName、LastName、EmailAdd、CardNo、CardEx、SortCode、DeliveryAdd、Postcode)
Products 表,包含所有产品信息(ProductID、ProductName、Price、ProductType、Images、ProductDescription)。还有一个包含 CustomerID 和 ProductID 的 Orders 表。我已经设法让订单页面正常工作,这会导致订单确认页面显示客户刚刚下达的详细信息。到目前为止,这是我在订单确认页面加载事件中的内容。
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 在客户表中为 12,在订单表中为 4。这些数字在生成时不应该相同吗?提前致谢。