다음을 통해 공유


DataTableCollection 클래스

DataSet의 테이블 컬렉션을 나타냅니다.

네임스페이스: System.Data
어셈블리: System.Data(system.data.dll)

구문

‘선언
Public NotInheritable Class DataTableCollection
    Inherits InternalDataCollectionBase
‘사용 방법
Dim instance As DataTableCollection
public sealed class DataTableCollection : InternalDataCollectionBase
public ref class DataTableCollection sealed : public InternalDataCollectionBase
public final class DataTableCollection extends InternalDataCollectionBase
public final class DataTableCollection extends InternalDataCollectionBase

설명

DataTableCollection은 특정 DataSet에 대한 DataTable 개체 모두를 포함합니다. DataSetDataTableCollection에 액세스하려면 Tables 속성을 사용합니다.

DataTableCollectionAdd, ClearRemove과 같은 메서드를 사용하여 컬렉션의 항목을 관리합니다.

Contains 메서드를 사용하여 컬렉션에 인덱스나 이름으로 지정된 특정 테이블이 있는지 확인합니다.

한 테이블에서 다른 테이블로 탐색하려면 DataTableChildRelations 또는 ParentRelations 속성을 사용하여 DataRelation 개체의 해당 컬렉션에 액세스합니다. Relations 속성을 사용하여 특정 DataSet 컬렉션에 있는 DataTables의 부모/자식 관계를 탐색할 수도 있습니다.

예제

이 예제의 첫 번째 프로시저에서는 DataSetDataTableCollection을 검색하고 각 테이블의 각 행과 각 열의 값을 출력합니다. 두 번째 프로시저에서는 열이 두 개인 새 DataTable을 만들어 DataTableCollection에 추가합니다.

Private Sub GetTables(dataSet As DataSet)
   ' Get Each DataTable in the DataTableCollection and 
   ' print each row value.
   Dim table As DataTable
   Dim row As DataRow
   Dim column As DataColumn
   For Each table In dataSet.Tables
      For Each row In table.Rows
         For Each column in table.Columns
            If Not (row(column) Is Nothing) Then
               Console.WriteLine(row(column))
            End If
         Next
      Next
   Next
End Sub

Private Sub CreateTable(dataSet As DataSet)
   Dim newTable As DataTable = new DataTable("table")
   newTable.Columns.Add("ID", Type.GetType("System.Int32"))
   newTable.Columns.Add("Name", Type.GetType("System.String"))
   dataSet.Tables.Add(newTable)
End Sub
private void GetTables(DataSet dataSet)
{
    // Get Each DataTable in the DataTableCollection and 
    // print each row value.
    foreach (DataTable table in dataSet.Tables)
        foreach (DataRow row in table.Rows)
            foreach (DataColumn column in table.Columns)
                if (row[column] != null)
                    Console.WriteLine(row[column]);
}

private void CreateTable(DataSet dataSet)
{
    DataTable newTable = new DataTable("table");
    newTable.Columns.Add("ID", typeof(int));
    newTable.Columns.Add("Name", typeof(string));
    dataSet.Tables.Add(newTable);
}

상속 계층 구조

System.Object
   System.Data.InternalDataCollectionBase
    System.Data.DataTableCollection

스레드로부터의 안전성

이 형식은 다중 스레드 읽기 작업에 안전합니다. 쓰기 작업을 동기화해야 합니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

DataTableCollection 멤버
System.Data 네임스페이스
DataColumn 클래스
DataRow 클래스
DataTable 클래스
DataSet 클래스