我正在为大学项目创建一个预订系统,我正在尝试根据不同的客户生成发票'预订。我在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......
答案 0 :(得分:2)
SELECT语句的基本形式是正确的,但Access SQL不支持非限定JOIN
关键字。您需要使用INNER JOIN
(或可能LEFT JOIN
或RIGHT JOIN
)。