在C#Access数据库中加入2个表

时间:2016-12-09 16:24:16

标签: c# wpf visual-studio ms-access oledb

我正在为大学项目创建一个预订系统,我正在尝试根据不同的客户生成发票'预订。我在Access数据库中有一个Bookings表和一个Guests表,我试图找到一种方法,使用Connections类中的Command将这些表合并在一起。反正有没有做JOIN声明?我在预订中有一个BookingID,在Guest中有预订ID_FK,所以至少有一些基本链接。

这是我的连接类的第一部分

    //Facade Class made to handle all connection's to Access Database properties
public class ConnectionClass
{
    OleDbConnection connection;
    OleDbCommand command;

    private void ConnectTo()
    {
        connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\MarkB\Documents\visual studio 2015\Projects\Holiday_Reservation\Holiday_Reservation\Reservations.mdb;Persist Security Info=False");
        command = connection.CreateCommand();
    }

    public ConnectionClass()
    {
        ConnectTo();
    }

我是否正确地认为我会使用诸如......之类的陈述。

try
{

command.CommandText = "SELECT * FROM Bookings JOIN Guests ON Bookings.BookingID = Guests.BookingID_FK;"
command.CommandType = CommandType.Text;
connection.Open();

OleDbDataReader reader = command.ExcecuteReader();

    While (reader.Read())
    {


    DO SOMETHING......

1 个答案:

答案 0 :(得分:2)

SELECT语句的基本形式是正确的,但Access SQL不支持非限定JOIN关键字。您需要使用INNER JOIN(或可能LEFT JOINRIGHT JOIN)。