데이터 세트에 DataTable 추가

ADO.NET에서는 DataTable 개체를 만들어 기존 DataSet에 추가할 수 있습니다. 또한 DataTablePrimaryKey 속성을 사용하여 Unique에 대한 제약 조건 정보를 설정할 수 있습니다.

예시

다음 예제에서는 DataSet을 구성하고 새 DataTable 개체를 DataSet에 추가한 다음 세 개의 DataColumn 개체를 해당 테이블에 추가합니다. 마지막으로 이 코드에서는 열 하나를 기본 키 열로 설정합니다.

DataSet customerOrders = new("CustomerOrders");

DataTable ordersTable = customerOrders.Tables.Add("Orders");

DataColumn pkOrderID =
    ordersTable.Columns.Add("OrderID", typeof(int));
ordersTable.Columns.Add("OrderQuantity", typeof(int));
ordersTable.Columns.Add("CompanyName", typeof(string));

ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };
Dim customerOrders As New DataSet("CustomerOrders")

Dim ordersTable As DataTable = customerOrders.Tables.Add("Orders")

Dim pkOrderID As DataColumn = ordersTable.Columns.Add( _
    "OrderID", Type.GetType("System.Int32"))
ordersTable.Columns.Add("OrderQuantity", Type.GetType("System.Int32"))
ordersTable.Columns.Add("CompanyName", Type.GetType("System.String"))

ordersTable.PrimaryKey = New DataColumn() {pkOrderID}

대/소문자 구분

이름은 같으나 대/소문자가 다른 두 개 이상의 테이블이나 관계가 하나의 DataSet에 존재할 수 있습니다. 이런 경우 테이블과 관계를 이름에 따라 참조할 때는 대/소문자가 구분됩니다. 예를 들어, DataSetdataSetTable1table1 테이블이 있는 경우, Table1dataSet.Tables["Table1"]로, table1dataSet.Tables["table1"]로 참조할 수 있습니다. dataSet.Tables["TABLE1"]로 두 테이블 중 하나를 참조하면 예외가 발생합니다.

특별한 이름의 테이블이나 관계가 하나만 있으면 대/소문자 구분 동작이 적용되지 않습니다. 예를 들어, DataSet에 하나의 Table1만 있는 경우 dataSet.Tables["TABLE1"]를 사용하여 참조할 수 있습니다.

참고 항목

CaseSensitiveDataSet 속성은 이 동작에 영향을 미치지 않습니다. CaseSensitive 속성은 DataSet 내의 데이터에 적용되며 정렬, 찾기, 필터링, 제약 조건 적용 등에 영향을 줍니다.

네임스페이스 지원

ADO.NET 2.0보다 이전 버전에서는 네임스페이스가 서로 다르더라도 두 테이블의 이름이 같을 수 없었습니다. 하지만 ADO.NET 2.0에서는 이러한 제한이 사라졌습니다. DataSetTableName 속성 값은 같지만 Namespace 속성 값이 다른 두 테이블이 포함될 수 있습니다.

참고 항목