데이터 세트에 DataTable 추가Adding a DataTable to a DataSet

ADO.NET에서는 DataTable 개체를 만들어 기존 DataSet에 추가할 수 있습니다.ADO.NET enables you to create DataTable objects and add them to an existing DataSet. 또한 DataTablePrimaryKey 속성을 사용하여 Unique에 대한 제약 조건 정보를 설정할 수 있습니다.You can set constraint information for a DataTable by using the PrimaryKey and Unique properties.

예제Example

다음 예제에서는 DataSet을 구성하고 새 DataTable 개체를 DataSet에 추가한 다음 세 개의 DataColumn 개체를 해당 테이블에 추가합니다.The following example constructs a DataSet, adds a new DataTable object to the DataSet, and then adds three DataColumn objects to the table. 마지막으로 이 코드에서는 열 하나를 기본 키 열로 설정합니다.Finally, the code sets one column as the primary key column.

DataSet customerOrders = new DataSet("CustomerOrders");

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

DataColumn pkOrderID = 
    ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
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}

대/소문자 구분Case Sensitivity

이름은 같으나 대/소문자가 다른 두 개 이상의 테이블이나 관계가 하나의 DataSet에 존재할 수 있습니다.Two or more tables or relations with the same name, but different casing, can exist in a DataSet. 이런 경우 테이블과 관계를 이름에 따라 참조할 때는 대/소문자가 구분됩니다.In such cases, references by name to tables and relations are case sensitive. 예를 들어 DataSet 데이터 집합table1table1테이블이 포함 되어 있는 경우 table1은 이름으로 table1 ["table1"]table1dataset ["table1"] 로 참조 합니다.For example, if the DataSet dataSet contains tables Table1 and table1, you would reference Table1 by name as dataSet.Tables["Table1"], and table1 as dataSet.Tables["table1"]. 테이블 중 하나를 데이터 집합으로 참조 하려고 합니다. tables ["TABLE1"] 은 예외를 생성 합니다.Attempting to reference either of the tables as dataSet.Tables["TABLE1"] would generate an exception.

특별한 이름의 테이블이나 관계가 하나만 있으면 대/소문자 구분 동작이 적용되지 않습니다.The case-sensitivity behavior does not apply if only one table or relation has a particular name. 예를 들어에 DataSet Table1만 있는 경우에는 dataSet ["Table1"] 을 사용 하 여 참조할 수 있습니다.For example, if the DataSet has only Table1, you can reference it using dataSet.Tables["TABLE1"].

참고

CaseSensitiveDataSet 속성은 이 동작에 영향을 미치지 않습니다.The CaseSensitive property of the DataSet does not affect this behavior. CaseSensitive 속성은 DataSet 내의 데이터에 적용되며 정렬, 찾기, 필터링, 제약 조건 적용 등에 영향을 줍니다.The CaseSensitive property applies to the data in the DataSet and affects sorting, searching, filtering, enforcing constraints, and so on.

네임스페이스 지원Namespace Support

ADO.NET 2.0보다 이전 버전에서는 네임스페이스가 서로 다르더라도 두 테이블의 이름이 같을 수 없었습니다.In versions of ADO.NET earlier than 2.0, two tables could not have the same name, even if they were in different namespaces. 하지만 ADO.NET 2.0에서는 이러한 제한이 사라졌습니다.This limitation was removed in ADO.NET 2.0. DataSetTableName 속성 값은 같지만 Namespace 속성 값이 다른 두 테이블이 포함될 수 있습니다.A DataSet can contain two tables that have the same TableName property value but different Namespace property values.

참고자료See also