Share via


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

조회 테이블은 다른 테이블의 외래 키 필드 값을 기반으로 특정 테이블의 정보를 표시하는 데 사용됩니다. 예를 들어, 판매 데이터베이스의 Orders 테이블을 살펴 보기로 합시다. Orders 테이블의 각 레코드에는 주문한 고객을 나타내는 CustomerID가 포함됩니다. CustomerID는 Customers 테이블의 고객 레코드를 가리키는 외래 키입니다. Orders 테이블에서 주문 목록을 나타낼 때 CustomerID 대신 실제 고객 이름을 표시할 수 있습니다. 고객 이름은 Customers 테이블에 있는데 Orders 테이블의 데이터를 사용하고 있으므로 Orders 레코드의 CustomerID 값을 가져와서 이 값을 사용하여 관계를 탐색한 후 읽기 쉬운 고객 이름을 반환하는 조회 테이블을 만들어야 합니다. 이러한 개념을 조회 테이블이라고 합니다.

이 연습에서 수행할 작업은 다음과 같습니다.

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

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

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

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

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

사전 요구 사항

이 연습을 완료하려면 다음과 같은 요건이 필요합니다.

새 Windows 응용 프로그램 만들기

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

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

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

  3. Windows 응용 프로그램을 선택하고 확인을 클릭합니다. 자세한 내용은 Windows 기반 응용 프로그램 만들기를 참조하십시오.

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

새 데이터 소스 만들기

데이터 소스를 만들려면

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

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

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

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

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

      또는

    • 새 연결을 선택하여 연결 추가/수정 대화 상자를 시작합니다. 자세한 내용은 연결 추가/수정 대화 상자(일반)를 참조하십시오.

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

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

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

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

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

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

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

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

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

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

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

    레코드 탐색에 사용되는 도구 스트립(BindingNavigator)과 설명 레이블이 있는 데이터 바인딩된 컨트롤이 폼에 나타납니다. NorthwindDataSet, CustomersTableAdapter, BindingSourceBindingNavigator가 구성 요소 트레이에 나타납니다.

조회 테이블 만들기

다음과 같이 CustomerID 콤보 상자에 대한 속성을 설정하여 조회 테이블을 만듭니다.

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

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

    참고

    다음에 나오는 테이블은 참조용으로만 사용되며 속성은 위 절차에서 끌어서 놓는 동안 자동으로 설정됩니다. 디자이너는 아래의 "설정 설명"에 설명된 대로 다음 속성을 설정합니다. 테이블 구조에 따라 조회 테이블의 속성을 조정해야 제대로 동작합니다.

    Property

    설정 설명

    DataSource

    Visual Studio에서는 컨트롤이 만들어질 때 만들어진 BindingSource가 아니라 컨트롤로 끌어 온 테이블에 대해 만들어진 BindingSource로 이 속성을 설정합니다.

    조정이 필요하면 표시할 열이 있는 테이블의 BindingSource로 이 속성을 설정합니다. 이 연습에서는 CustomersBindingSource로 설정합니다.

    DisplayMember

    Visual Studio에서는 이 속성을 컨트롤로 끌어 온 테이블에서 기본 키 다음에 오는 첫 번째 열로 설정합니다. 이 열의 데이터 형식은 문자열입니다.

    조정이 필요하면 표시할 열 이름으로 이 속성을 설정합니다.

    ValueMember

    Visual Studio에서는 기본 키에 참여하는 첫 번째 열 또는 키가 정의되지 않은 경우 테이블의 첫 번째 열로 이 속성을 설정합니다.

    조정이 필요하면 표시할 열이 있는 테이블의 기본 키로 이 속성을 설정합니다.

    SelectedValue

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

    조정이 필요하면 이 속성을 관련 테이블의 외래 키 열로 설정합니다. 이 연습에서는 Orders 테이블의 CustomerID로 설정합니다.

응용 프로그램 실행

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

  1. F5 키를 누릅니다.

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

다음 단계

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

참고 항목

개념

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

데이터 소스 개요

TableAdapter 개요

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

기타 리소스

데이터 연습

Visual Studio에서 데이터에 연결

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

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

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

데이터 유효성 검사

데이터 저장