gpt4 book ai didi

sqlite - 我需要帮助为我的类(class)创建一个明确的内部连接

转载 作者:行者123 更新时间:2023-12-03 18:04:01 25 4
gpt4 key购买 nike

我有一个 Microsoft Access 2010 数据库,其中包括 Bookings 和 Customer 表。主表是 Bookings 表。 Customer 表通过其客户 ID 链接到 Bookings 表,客户 ID 是 Bookings 表中的外键。我想检索与某个预订相关联的客户的电子邮件地址。但是,语法错误消息不断出现,我无法确定错误在 SQL 中的位置。

这是我的计算机科学类(class)。我需要做一个酒店房间预订系统。我正在尝试在客户预定到达前一周向客户发送自动提醒电子邮件。我在 VB.Net 2010 express 中对其进行编程,并为其设置了 Microsoft Access 2010 数据库。

  • 我多次检查了所有表和列的名称,但没有一个拼写错误。
  • 我已经阅读了可汗学院关于连接的教程,并使用 SQLite 接口(interface)来测试我的查询。它在那里工作,但不在我的系统中。

  • 这是我的代码:
    Imports System.Data.OleDb

    Dim CN As OleDbConnection
    Dim DR As OleDbDataReader
    Dim SQL As String

    Sub OpenDatabase()
    CN = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Coursework Prototype Database.mdb;")
    CN.Open()
    End Sub

    Public Sub ExecuteSQL()
    Dim CM As New OleDbCommand(SQL, CN)
    DR = CM.ExecuteReader
    End Sub

    Sub RetrieveCustomerEmail()
    OpenDatabase()
    SQL = ("SELECT tblCustomer.Email_Address FROM tblBookings JOIN tblCustomer ON tblBookings.CustomerID = tblCustomer.CustomerID Where tblBookings.BookingID = 1")
    ExecuteSQL()
    DR.Read()

    Dim CustomerEmail As String = DR.Item("Email_Address").ToString
    CN.Close()
    End Sub

    我希望结果是一个电子邮件地址,但我只是收到一条语法错误消息

    Syntax error in FROM clause.

    最佳答案

    MS Access 要求将内部连接明确声明为 INNER JOIN ,并且不会解释 JOIN其他 RDBMS 接受的内部连接的简写。

    因此,您的 SQL 语句需要:

    SELECT tblCustomer.Email_Address 
    FROM tblBookings INNER JOIN tblCustomer ON tblBookings.CustomerID = tblCustomer.CustomerID
    WHERE tblBookings.BookingID = 1

    关于sqlite - 我需要帮助为我的类(class)创建一个明确的内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54063780/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com