在 C# Access 数据库中加入 2 个表
Joining 2 tables in C# Access Database
我正在为一个大学项目创建一个预订系统,我正在尝试根据不同客户的预订生成发票。我在 Access 数据库中有一个 Bookings table 和一个 Guests table,我正在尝试找到一种方法,使用我的 Connections [=19] 中的命令将这些 table 合并在一起=].无论如何做一个 JOIN 声明?我在 Bookings 中有一个 BookingID,在 Guests 中有一个 BookingsID_FK,这样至少有一些基本的 link.
这是我连接的第一部分class
//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......
您的 SELECT 语句的基本形式是正确的,除了 Access SQL 不支持不合格的 JOIN
关键字。您需要使用 INNER JOIN
(或者可能 LEFT JOIN
或 RIGHT JOIN
)。
我正在为一个大学项目创建一个预订系统,我正在尝试根据不同客户的预订生成发票。我在 Access 数据库中有一个 Bookings table 和一个 Guests table,我正在尝试找到一种方法,使用我的 Connections [=19] 中的命令将这些 table 合并在一起=].无论如何做一个 JOIN 声明?我在 Bookings 中有一个 BookingID,在 Guests 中有一个 BookingsID_FK,这样至少有一些基本的 link.
这是我连接的第一部分class
//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......
您的 SELECT 语句的基本形式是正确的,除了 Access SQL 不支持不合格的 JOIN
关键字。您需要使用 INNER JOIN
(或者可能 LEFT JOIN
或 RIGHT JOIN
)。