C# DataSet 클래스
DataSet 클래스는 클라이언트 메모리 상에 존재하는 테이블들을 가지며, 서버와의 연결을 유지하지 않는다.
DataSet 클래스는 개발자가 직접 모든 테이블 구조 만들고 데이타 삽입등을 할 수 있으나, 일반적으로 DataAdapter (예: SqlDataAdapter)를
이용하여 데이타를 서버로부터 가져와 메모리상의 DataSet에 할당 후 사용한다. DataSet 객체는 DataGridView같은 그리드에 데이타를 바인딩하여
사용할 수 있다.
예제
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Tab1", conn);
// DataSet에 테이블 데이타를 넣음
DataSet ds = new DataSet();
adapter.Fill(ds, "Tab1");
conn.Close();
C# DataTable 클래스
DataTable 클래스는 메모리상에 테이블을 표현하는 클래스로서, DataSet.Tables 컬렉션에 포함되어 사용되는 경우가 많다.
DataSet은 여러개의 DataTable들을 포함하여 마치 메모리상의 간이 데이타베이스와 같은 개념으로 이해될 수 있다.
DataSet에 있는 DataTable을 엑세스하기 위해서는 dataSet.Tables[0]과 같이 인덱스를 사용할 수 있으며, 아래 예와 같이
테이블명을 이용해서 엑세스할 수도 있다.
C# DataView 클래스
DataView 클래스는 DataTable객체를 소트하거나 필터링할 때 혹은 편집, 검색등을 할 때 사용된다.
즉, 만약 서버로부터 데이타를 가져다 클라인언트에 놓고 일부 데이타만 보여주는 필터링 혹은 데이타를 소트해서 보여주는 등의
일들을 할 때는 DataView를 사용할 수 있다. DataTable은 기본적으로 DefaultView라고 하는 속성을 가지고 있는데,
이는 DataTable에서 기본으로 제공하는 DataView로서 이를 통해 소트나 필터링 등을 할 수 있다.
예제
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(cn))
{
conn.Open();
SqlDataAdapter adpt = new SqlDataAdapter("SELECT * FROM AAA", conn);
adpt.Fill(ds, "AAA");
}
// DataTable.DefaultView를 사용하여
// 필터링 (name컬럼이 L로 시직하는 경우)
DataTable dt = ds.Tables["AAA"];
dt.DefaultView.RowFilter = "name like 'L%'";
dataGridView1.DataSource = dt;
본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.