Freigeben über


DataTableCollection-Klasse

Stellt die Auflistung von Tabellen für das DataSet dar.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public NotInheritable Class DataTableCollection
    Inherits InternalDataCollectionBase
'Usage
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

Hinweise

Die DataTableCollection enthält alle DataTable-Objekte für ein bestimmtes DataSet. Verwenden Sie für den Zugriff auf die DataTableCollection eines DataSet die Tables-Eigenschaft.

Die DataTableCollection verwendet z. B. die Add-Methode, die Clear-Methode und die Remove-Methode, um die Elemente in der Auflistung zu verwalten.

Bestimmen Sie mithilfe der Contains-Methode, ob sich eine bestimmte Tabelle (angegebenen durch den Index oder den Namen) in der Auflistung befindet.

Um von einer Tabelle zu einer anderen zu navigieren, greifen Sie mit der ChildRelations-Eigenschaft oder der ParentRelations-Eigenschaft der DataTable auf deren Auflistung von DataRelation-Objekten zu. Sie können auch die Relations-Eigenschaft verwenden, um durch die Beziehungen zwischen über- und untergeordneten Elementen der DataTables in einer bestimmten DataSet-Auflistung zu navigieren.

Beispiel

In der ersten Prozedur in diesem Beispiel wird die DataTableCollection eines DataSet abgerufen, und der Wert in jeder Spalte und in jeder Zeile der einzelnen Tabellen wird ausgegeben. In der zweiten Prozedur wird eine neue DataTable mit zwei Spalten erstellt und der DataTableCollection hinzugefügt.

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);
}

Vererbungshierarchie

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

Threadsicherheit

Dieser Typ ist bei Multithread-Lesevorgängen sicher. Sie müssen alle Schreibvorgänge synchronisieren.

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DataTableCollection-Member
System.Data-Namespace
DataColumn-Klasse
DataRow-Klasse
DataTable-Klasse
DataSet-Klasse