38. [ADO.NET] DataTable 생성과 테이블 구조 설계

ADO.NET에서는 논리적인 데이터 집합을 디자인하고 데이터를 관리할 수 있는 DataTable 클래스를 제공하고 있습니다. DataTable은 DataSet을 구성하는 주요 개체로 프로그램 메모리 상의 한 개의 테이블입니다.

여기에서는 DataTable 개체를 생성하여 테이블을 설계하고 해당 개체를 이용하여 데이터를 관리하는 방법을 살펴볼게요.

▷클래스 상속 계층

System.Object

System.ComponentModel.MarshalByValueComponent

System.Data.DataTable

DataTable은 개체를 생성한 후에 테이블의 구조를 설계한 후에 사용합니다. 테이블의 구조를 설계한다는 것은 열을 추가하는 것과 기타 테이블 속성을 설정하는 것을 말합니다.

DataTable 클래스에서는 public 액세스 지정으로 설정한 세 가지 생성자를 제공합니다.

 

DataTable을 생성한 이후에 구조 설계할 때는 DataColumn 개체를 생성하여 DataTable 개체에 추가하는 형태로 진행합니다.

 

DataColumn

DataColumn 클래스는 DataTable의 구조를 정의할 때 사용하는 열의 스키마입니다.

DataColumn 클래스에서 제공하는 생성자는 다음과 같습니다.

 

DataColumn 클래스에 제공하는 주요 속성은 다음과 같습니다.

속성 가져오기/설정하기 설명
AllowDBNull 가져오기/설정하기 null 허용 여부
AutoIncrement 가져오기/설정하기 열 값이 자동으로 증가 여부
AutoIncrementSeed 가져오기/설정하기 AutoIncrement 속성이 true 일 때

열의 시작 값 (기본값은 0)

AutoIncrementStep 가져오기/설정하기 AutoIncrement 속성이 true 일 때

열 값의 증가하는 폭

ColumnName 가져오기/설정하기 열의 이름
DataType 가져오기/설정하기 열의 데이터 형식
DefaultValue 가져오기/설정하기 기본 값
Unique 가져오기/설정하기 각 행에 있는 값이 고유해야 하는지 여부

 

이제 DataTable 개체를 생성하고 테이블 구조를 설계하는 예제 코드를 작성해 봅시다.

먼저 DataTable 개체를 생성합니다.

DataColumn 개체를 생성하고 속성을 설정한 후에 DataTable 개체의 Columns 컬렉션 속성에 추가합니다.

 

만약 DataTable에 주요 키를 설정하려면 DataTable 개체의 PrimaryKey 속성에 주요 키로 사용할 컬럼 배열로 설정합니다.

다음은 앞에서 실습한 소스 코드입니다.

실행 결과