728x90
DataTable dataTable = new DataTable();
dataTable.Columns.Add("음식", typeof(string));
dataTable.Columns.Add("가격", typeof(int));
//dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["음식"] };
dataTable.Rows.Add("고구마", 5200);
dataTable.Rows.Add("가지", 12600);
dataTable.Rows.Add("감자", 8400);
Console.WriteLine("{0}", dataTable.Rows.Contains("감자"));
Console.WriteLine("{0}", dataTable.Rows.Find("감자").Field<int>("가격"));
Unhandled exception. System.Data.MissingPrimaryKeyException: Table doesn't have a primary key.
기본키 설정 (여러칼럼 지정가능)
dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["음식"] };
기본키(칼럼)행을 기준으로 열을 추적한다.
기본키(음식)에 "감자"가 있는지, 기본키(음식)에 "감자"를 찾고 해당 열의 "가격" 칼럼의 값
예외 상황
dataTable.Rows.Add("고구마", 5200);
dataTable.Rows.Add("고구마", 4200);
Unhandled exception. System.Data.ConstraintException: Column '음식' is constrained to be unique. Value '고구마' is already present.
기본키로 지정한 칼럼에 중복 값은 안됨.
728x90
'c#' 카테고리의 다른 글
[C#] 불필요한 판정 (0) | 2023.01.31 |
---|---|
[C#] 쿼리가 너무 많을 때 To.Array() (0) | 2023.01.31 |
[C#] 파일 확실하게 닫기 (0) | 2023.01.26 |
[C#] 의미없는 구조체 (0) | 2023.01.26 |
[C#] Out of Memory (0) | 2023.01.26 |