코딩하는코알라/C#
ADO.NET DataSet , DataTable ,DataView
룰루랄라코알라
2024. 1. 22. 18:40
ADO.NET에서 데이터를 다루는 핵심 구성 요소들로 자주 사용 하게 된다.
1. DataSet
DataSet은 데이터베이스의 관계형 데이터를 메모리 상에서 표현하는 데 사용됩니다. DataSet은 여러 개의 DataTable을 포함할 수 있으며, 테이블 간의 관계(DataRelation)를 정의할 수 있습니다. DataSet은 데이터베이스와 독립적으로 데이터를 저장하며, 데이터베이스의 데이터를 읽고, 데이터에 대한 변경 사항을 데이터베이스에 반영하는 기능을 제공합니다.
DataSet dataSet = new DataSet();
// 데이터베이스에서 데이터를 가져와 DataTable에 채움
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM YourTable", conn);
adapter.Fill(dataSet, "YourTable");
}
// DataSet 내의 DataTable에 접근
DataTable table = dataSet.Tables["YourTable"];
2. DataTable
DataTable은 메모리 내에서 데이터의 한 테이블을 표현합니다. DataTable은 행(DataRow)과 열(DataColumn)의 컬렉션을 포함하며, 각 행은 데이터 레코드, 각 열은 데이터 필드를 나타냅니다. DataTable은 단독으로 사용되거나 DataSet의 일부로 사용될 수 있습니다.
DataTable table = new DataTable();
// 열 정의
table.Columns.Add("Column1", typeof(int));
table.Columns.Add("Column2", typeof(string));
// 행 추가
table.Rows.Add(1, "First");
table.Rows.Add(2, "Second");
3. DataView
DataView는 DataTable의 데이터를 필터링, 정렬, 검색, 편집하는 데 사용됩니다. DataView를 사용하면 동일한 데이터에 대해 여러 가지 다른 뷰(view)를 생성할 수 있으며, 각 뷰는 다른 정렬이나 필터링을 적용할 수 있습니다.
DataTable table = dataSet.Tables["YourTable"];
DataView view = new DataView(table);
// 뷰에 필터 적용
view.RowFilter = "Column1 > 5";
// 뷰에 정렬 적용
view.Sort = "Column2 DESC";
// DataView를 통해 데이터에 접근
foreach (DataRowView row in view)
{
Console.WriteLine($"{row["Column1"]}, {row["Column2"]}");
}
편리하고 정말 자주 쓰는 개념이다.
반응형