[C#] DataTable 생성

NET의 DataTable은 개발자들에 데이터를 주고 받기 위한 인터페이스로써의 표준으로 생각해도 별 무리가 없을듯 합니다. 아직은 .NET 초년생이라 잘 모르겠습니다만… 어떤 형식을 가지고 있는 데이터를 개발자 사이에서 주고 받을때 데이터 덩어리만 툭… 던져주기 보다는 이 데이터 덩어리를 읽을 수 있는 인인터페이스까지 제공해 주면 더욱 좋을텐데요. 바로 이 인터페이스가 되는 녀석으로 DataTable을 사용하면 참 좋을것 같습니다.

DataTable은 이 클래스의 이름에서도 나와 있듯 데이터베이스에서 테이블에 해당하는 녀석입니다. 테이블은 필드들로 구성되어 있고.. 이 필드들에 대한 레코드들로 구성됩니다. 필드는 컬럼(Column)이라고도 하며 레코드는 로우(Row)라고도 합니다.

데이터에 대해서 개발자 서로간에 인정할 수 있는 방법으로써 DataTable을 사용해야 할 필요가 생겨 DataTable을 생성하는 방법에 대해 정리해 봅니다.

사용자 삽입 이미지
위의 도식도를 보면 DataTable은 DataColumn과 DataRow 클래스에 대한 다수의 인스턴스를 가지고 있다는 것을 알 수 있습니다. DataColumn은 필드의 정의이며 DataRow은 레코드에 대한 정의입니다. .NET을 개발한 MS 개발자들 덕에 참…. 쉽죠잉? -_-;

먼저 DataTable을 생성하는 코드는 아래와 같습니다.

DataTable dt = new DataTable("TableName");

생성자의 인자는 테이블의 이름입니다. 참고로 다수의 DataTable은 DataSet에 포함될 수 있는데 이 DataSet에서의 식별자가 바로 이 테이블의 이름입니다. 식별자이므로 당연히 중복되는 큰~ 일 나는 겁니다.

다음은 이렇게 생성한 테이블에 필드를 정의하는 코드입니다. 식별자로써 ID와 이름으로써 Name, 나이값으로써 Age 필드를 정의하는 코드입니다.

DataColumn col1 = new DataColumn();
col1.DataType = System.Type.GetType("System.Int32");
col1.ColumnName = "ID";
col1.AutoIncrement = true;
dt.Columns.Add(col1);

DataColumn col2 = new DataColumn();
col2.DataType = System.Type.GetType("System.String");
col2.ColumnName = "Name";
col2.DefaultValue = "No Name";
dt.Columns.Add(col2);

DataColumn col3 = new DataColumn();
col3.DataType = System.Type.GetType("System.Int32");
col3.ColumnName = "Age";
col3.DefaultValue = 0;
dt.Columns.Add(col3);

각 필드(컬럼)에 대한 데이터 타입은 .NET의 Type의 그것을 그대로…. 사용할 수 있도록 되어 있습니다. 그리고 아래는 이제 이렇게 정의된 필드에 대해 레코드를 추가하는 코드입니다.

DataRow dr1 = dt.NewRow();
dr1["Name"] = "개똥이";
dr1["Age"] = 10;
dt.Rows.Add(dr1);

DataRow dr2 = dt.NewRow();
dr2["Name"] = "소똥이";
dr2["Age"] = 13;
dt.Rows.Add(dr2);

DataRow dr3 = dt.NewRow();
dr3["Name"] = "말똥이";
dr3["Age"] = 15;
dt.Rows.Add(dr3);

레코드에 해당되는 DataRow는 DataTable의 NewRow 매서드를 통해 생성된다는 점에 주의해야 합니다.

끝으로 테이블을 정의할때 Primary Key 등과 같은 정의를 빼놓을 수 없습니다. 아래는 간단히 앞서 정의한 ID 필드값으로 Primary Key를 정의하는 코드입니다.

DataColumn[] key = new DataColumn[1];
key[0] = col1;
dt.PrimaryKey = key;

이상으로 기본적으로 DataTable을 생성하고 컬럼과 레코드를 추가하는 것에 대해 정리해 보았습니다.

국내 첫 안드로이드폰, “모토로이”

국내에서 처음으로 정식 출시되는 안드로이드폰의 소식이 들어왔습니다. 개인적으로 매우 반갑습니다. 모토롤라에서 제작하고 SK에서 올해 2월초부터 판매한다고 합니다. 전반적인 사양을 정리하면 다음과 같습니다. 비단 SK 뿐만 아니라 애플폰을 판매하고 있는 KT에서도 안드로이드 폰을 판매한다고 합니다. 올해에 약 20가지 종류의 안드로이드 폰이 출시된다고 하니… 사용자 입장에서 무엇을 골라야하나 머리가 좀 아플것같네요..

사용자 삽입 이미지

  • 지상파 DMB 지원
  • 3.7인치 WVGA 480×854
  • 안드로이드 OS 2.0 지원
  • 풀 터치 화면 그리고 UI
  • 800만 화소 카메라
  • 720p HD 캠코더 기능
  • MP3 플레이어
  • 구글맵, G-Mail 등과 같은 구글 서비스와 강력한 연계
  • 외부 메모리로써 8기가 바이트 제공(32GB 까지 확장 가능)
  • HDMI를 지원하는 출력 지원(모니터 또는 빔프로젝터, TV)
  • 멀티 테스킹 지원
  • WiFi를 통한 무선인터넷 그리고 웹브라우징
  • 근접 센서 기능(스크린에 가까이 접근하면 발생하는 이벤트)
  • 마이크로소프트 오피스 및 PDF 뷰어
  • 광학 문자 인식 기능