다음을 통해 공유


DataTable 만들기

DataTable은 메모리 내 관계형 데이터가 포함된 하나의 테이블을 나타내며, 독립적으로 만들어 사용하거나 다른 .NET Framework 개체에 의해 사용될 수도 있습니다. 이 경우에는 주로 DataSet의 멤버로 사용됩니다.

적절한 DataTable 생성자를 사용하면 DataTable 개체를 만들 수 있습니다. Add 메서드를 사용하여 DataSet에 추가하여 DataSet 개체의 Tables 컬렉션에 추가할 수 있습니다.

또한 DataTable 개체는 DataAdapter 개체의 Fill 또는 FillSchema 메서드를 사용하여 DataSet 내에서 만들거나 DataSetReadXml, ReadXmlSchema 또는 InferXmlSchema 메서드를 사용하여 미리 정의되거나 유추된 XML 스키마에서 만들 수도 있습니다. DataTable을 특정 DataSetTables 컬렉션 멤버로 추가한 후에는 기타 모든 DataSet의 테이블 컬렉션에 추가할 수 없습니다.

DataTable을 처음 만드는 경우에는 스키마(구조)가 존재하지 않습니다. 테이블 스키마를 정의하려면 DataColumn 개체를 만들어 테이블의 Columns 컬렉션에 추가해야 합니다. 사용자는 또한 테이블의 기본 키 열을 정의할 수 있으며 Constraint 개체를 만들어 테이블의 Constraints 컬렉션에 추가할 수 있습니다. DataTable 스키마를 정의한 후에는 테이블의 Rows 컬렉션에 DataRow 개체를 추가하여 테이블에 데이터 행을 추가할 수 있습니다.

DataTable을 만드는 경우에는 TableName 속성 값을 입력할 필요가 없습니다. 이 속성은 나중에 지정할 수 있으며 비워 놓을 수도 있습니다. 그러나 TableName 값이 없는 테이블을 DataSet에 추가하는 경우, 테이블에는 Table0에 대해 "Table"로 시작하는 TableN의 증분 기본 이름이 지정됩니다.

참고 항목

TableName 값을 입력하는 경우에는"TableN" 명명 규칙을 사용하지 않는 것이 좋습니다. 이 경우 DataSet에 있는 기존의 기본 테이블 이름과 충돌이 발생할 수 있습니다. 이미 있는 이름을 입력하면 예외가 throw됩니다.

다음 예에서는 DataTable 개체의 인스턴스를 만들고 이름을 "Customers"로 지정합니다.

Dim workTable as DataTable = New DataTable("Customers")  
DataTable workTable = new DataTable("Customers");  

다음 예에서는 DataSetTables 컬렉션에 DataTable의 인스턴스를 추가하여 만듭니다.

Dim customers As DataSet = New DataSet  
Dim customersTable As DataTable = _  
   customers.Tables.Add("CustomersTable")  
DataSet customers = new DataSet();  
DataTable customersTable = customers.Tables.Add("CustomersTable");  

참고 항목