2016-12-09 3 views
0

나는 대학 프로젝트 예약 시스템을 만들고 있으며 다른 고객의 예약을 기반으로 한 인보이스를 생성하려고합니다. Access 데이터베이스 내에 Bookings 테이블과 Guests 테이블이 있고이 테이블을 My Connections 클래스 내에서 명령을 사용하여 병합하는 방법을 찾으려고합니다. 어쨌든 JOIN 문을 수행 할 수 있습니까? 나는 Booklink 안에 예약 번호가 있고 손님 내에 BookingsID_FK가 있습니다. 그래서 최소한 기본 링크가 있습니다. 여기 C# Access 데이터베이스에 2 개의 테이블 조인

내 연결 클래스

//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

UNI 작업을 위해 SQL Server Express를 사용 해본 적이 있으십니까? 무료이며 필요로하는 모든 기능을 가지고 있습니다. –

+0

Visual Studio Community Edition과 함께 제공되는 모든 기능을 사용하도록 제한되어 있습니다. 나는 어떤 도우미도 허용하지 않는다./ –

+0

localDB로 작업 해보고 가능한 경우 모든 SQL 기능을 제공 할 수 있어야한다. 아마 당신은 MS Access의 팬이 아니라고 말할 수 있습니다. :) –

답변

2

당신의 SELECT 문의 기본 형식 Access SQL이 규정되지 않은 JOIN 키워드를 지원하지 않는다는 점을 제외하면 올바른 것입니다. INNER JOIN (또는 가능하게는 LEFT JOIN 또는 RIGHT JOIN)을 사용해야합니다.