다음을 통해 공유


연습: Windows Forms 응용 프로그램에서 조회 테이블 만들기

조회 테이블은 특정 테이블의 정보를 다른 테이블의 외래 키 필드 값을 기반으로 표시하는 데 사용됩니다. 판매 데이터베이스의 Orders 테이블을 예로 들어 보겠습니다. Orders 테이블의 각 레코드에는 주문을 한 고객을 나타내는 CustomerID가 포함되어 있습니다. CustomerID는 Customers 테이블의 고객 레코드를 가리키는 외래 키입니다. Orders 테이블의 주문 목록을 표시할 때 CustomerID가 아닌 실제 고객 이름을 표시하려는 경우가 있습니다. 고객 이름이 Customers 테이블에 들어 있고 Orders 테이블의 데이터를 제공하려는 경우 조회 테이블을 만들어야 하는데, 이 조회 테이블로 Orders 레코드의 CustomerID 값을 가져오고 해당 값을 사용하여 관계를 탐색하며 더 쉽게 읽을 수 있는 고객 이름을 반환합니다. 이러한 개념을 조회 테이블이라고 합니다.

이 연습에서 설명하는 작업은 다음과 같습니다.

  • Windows 응용 프로그램 프로젝트를 만듭니다.

  • 데이터 소스 구성 마법사를 사용하여 데이터 집합을 만들고 구성합니다.

  • 데이터 소스 창에서 항목을 끌어오는 경우 폼에 만들어질 컨트롤을 선택합니다. 자세한 내용은 방법: 데이터 소스 창에서 끌어 올 때 만들 컨트롤 설정을 참조하십시오.

  • 데이터 소스 창에서 폼으로 항목을 끌어 데이터 바인딩된 컨트롤을 만듭니다.

  • 외래 키 관계를 통해 바인딩된 컨트롤에 관련 테이블을 놓아 조회 테이블을 설정합니다.

사전 요구 사항

이 연습을 완료하려면 다음 사항이 필요합니다.

새 Windows 응용 프로그램 만들기

새 Windows 응용 프로그램 프로젝트를 만들려면

  1. 파일 메뉴에서 새 프로젝트를 만듭니다.

  2. 프로젝트 이름을 LookupTableWalkthrough로 지정합니다.

  3. Windows 응용 프로그램을 선택하고 확인을 클릭합니다. 자세한 내용은 .NET Framework로 클라이언트 응용 프로그램 개발을 참조하십시오.

    LookupTableWalkthrough 프로젝트가 만들어져 솔루션 탐색기에 추가됩니다.

새 데이터 소스 만들기

데이터 소스를 만들려면

  1. 데이터 메뉴에서 데이터 소스 표시를 클릭합니다.

  2. 데이터 소스 창에서 새 데이터 소스 추가를 선택하여 데이터 소스 구성 마법사를 시작합니다.

  3. 데이터 소스 형식 선택 페이지에서 데이터베이스를 선택하고 다음을 클릭합니다.

  4. 데이터 연결 선택 페이지에서 다음 중 한 가지를 수행합니다.

    • Northwind 샘플 데이터베이스에 대한 데이터 연결이 드롭다운 목록에 표시되면 해당 연결을 선택합니다.

      또는

    • 새 연결을 선택하여 연결 추가/수정 대화 상자를 시작합니다.

  5. 데이터베이스에 암호가 필요하면 중요한 데이터를 포함하는 옵션을 선택하고 다음을 클릭합니다.

  6. 응용 프로그램 구성 파일에 연결 문자열 저장 페이지에서 다음을 클릭합니다.

  7. 데이터베이스 개체 선택 페이지에서 테이블 노드를 확장합니다.

  8. CustomersOrders 테이블을 선택한 다음 마침을 클릭합니다.

    NorthwindDataSet가 프로젝트에 추가되고 테이블 두 개가 데이터 소스 창에 나타납니다.

폼에서 데이터 바인딩된 컨트롤 만들기

폼에서 데이터 바인딩된 컨트롤을 만들려면

  1. 데이터 소스 창에서 Customers 노드를 확장합니다.

  2. Orders 노드의 컨트롤 목록에서 Details를 선택하여 관련 Orders 테이블의 삭제 유형을 Details로 변경합니다. 자세한 내용은 방법: 데이터 소스 창에서 끌어 올 때 만들 컨트롤 설정을 참조하십시오.

  3. 관련 Orders 노드를 확장한 다음 CustomerID 노드의 컨트롤 목록에서 ComboBox를 선택하여 CustomerID 열의 삭제 유형을 콤보 상자로 변경합니다.

  4. 관련 Orders 노드를 데이터 소스 창에서 Form1로 끌어 옵니다.

    설명 레이블이 있는 데이터 바인딩된 컨트롤이 레코드 탐색을 위한 도구 모음인 BindingNavigator와 함께 폼에 나타납니다. NorthwindDataSet, CustomersTableAdapter, BindingSourceBindingNavigator가 구성 요소 트레이에 나타납니다.

조회 테이블 만들기

CustomerID 콤보 상자에서 속성을 설정하여 조회 테이블을 설정합니다.

폼에서 조회 테이블 기능을 만들려면

  • 주 Customers 노드를 데이터 소스 창에서 Form1CustomerID 콤보 상자로 직접 끌어 옵니다.

    참고

    아래 테이블은 참조용이며 속성은 위 절차의 끌기 작업 중에 자동으로 설정됩니다.디자이너는 아래의 "설정 설명"에서 설명하는 것처럼 다음 속성을 설정합니다.테이블 구조에 따라 조회 테이블이 정상적으로 작동하도록 하려면 속성을 조정해야 할 수 있습니다.

    속성

    설정 설명

    DataSource

    Visual Studio는 사용자가 컨트롤로 끌어 온 테이블에 대해 작성된 BindingSource로 이 속성을 설정합니다. 컨트롤을 만들 때 작성된 BindingSource가 아닙니다.

    이 속성을 조정해야 하는 경우 표시할 열이 포함된 테이블의 BindingSource로 설정합니다. (이 연습에서 해당 속성은 CustomersBindingSource입니다.)

    DisplayMember

    Visual Studio는 컨트롤로 끄는 테이블에 대해 문자열 데이터 형식을 포함하는 기본 키 다음의 첫 번째 열로 이 속성을 설정합니다.

    이 속성을 조정해야 하는 경우 표시하려는 열 이름으로 설정합니다.

    ValueMember

    Visual Studio는 이 속성을 기본 키에 포함되는 첫 번째 열로 설정하거나 키가 정의되어 있지 않으면 테이블의 첫 번째 열로 설정합니다.

    이 속성을 조정해야 하는 경우 표시할 열이 포함된 테이블의 기본 키로 설정합니다.

    SelectedValue

    Visual Studio는 데이터 소스 창에서 끈 원래 열로 이 속성을 설정합니다.

    이 속성을 조정해야 하는 경우 관련 테이블의 외래 키 열로 설정합니다. (이 연습에서 해당 속성은 Orders 테이블의 CustomerID입니다.)

응용 프로그램 실행

응용 프로그램을 실행하려면

  1. F5 키를 누릅니다.

  2. 주문을 탐색한 다음 CustomerID 콤보 상자에 Orders 테이블의 CustomerID 열이 아닌 Customers 테이블의 각 주문에 대한 CompanyName이 표시되는지 확인합니다.

다음 단계

응용 프로그램 요구 사항에 따라 데이터 바인딩된 폼을 만든 후 몇 단계를 더 수행해야 할 수도 있습니다. 이 연습에서 보완할 수 있는 사항은 다음과 같습니다.

참고 항목

개념

Visual Studio에서 데이터에 Windows Forms 컨트롤 바인딩

데이터 소스 개요

TableAdapter 개요

데이터를 받기 위해 응용 프로그램 준비

데이터를 응용 프로그램으로 페치

Visual Studio에서 데이터에 컨트롤 바인딩

응용 프로그램에서 데이터 편집

데이터 유효성 검사

데이터 저장

기타 리소스

데이터 연습

Visual Studio에서 데이터에 연결