Freigeben über


Hinzufügen von Spalten zu einer 'DataTable' (ADO.NET)

Aktualisiert: November 2007

Eine DataTable enthält eine Auflistung von DataColumn-Objekten, auf die von der Columns-Eigenschaft der Tabelle verwiesen wird. Diese Auflistung von Spalten, zusammen mit allen Einschränkungen, definiert das Schema oder die Struktur der Tabelle.

DataColumn-Objekte werden innerhalb einer Tabelle mit dem DataColumn-Konstruktor oder durch Aufrufen der Add-Methode der Columns-Eigenschaft der Tabelle erstellt, die eine DataColumnCollection ist. Die Add-Methode akzeptiert optional die Argumente ColumnName, DataType und Expression und erstellt eine neue DataColumn als einen Member der Auflistung. Außerdem akzeptiert die Methode ein vorhandenes DataColumn-Objekt, fügt es der Auflistung hinzu und gibt einen Verweis auf die hinzugefügte DataColumn zurück, wenn dieser angefordert wird. Da DataTable-Objekte nicht für eine Datenquelle spezifisch sind, werden .NET Framework-Typen zum Angeben des Datentyps einer DataColumn verwendet.

Im folgenden Beispiel werden vier Spalten zu einer DataTable hinzugefügt.

Dim workTable As DataTable = New DataTable("Customers")

Dim workCol As DataColumn = workTable.Columns.Add( _
    "CustID", Type.GetType("System.Int32"))
workCol.AllowDBNull = false
workCol.Unique = true

workTable.Columns.Add("CustLName", Type.GetType("System.String"))
workTable.Columns.Add("CustFName", Type.GetType("System.String"))
workTable.Columns.Add("Purchases", Type.GetType("System.Double"))
DataTable workTable = new DataTable("Customers");

DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;

workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));

Beachten Sie im Beispiel, dass die Eigenschaften für die CustID-Spalte darauf festgelegt sind, DBNull-Werte nicht zuzulassen, und Werte darauf einzuschränken, eindeutig zu sein. Wenn Sie jedoch die CustID-Spalte als die Primärschlüsselspalte der Tabelle definieren, wird die AllowDBNull-Eigenschaft automatisch auf false festgelegt und die Unique-Eigenschaft wird automatisch auf true festgelegt. Weitere Informationen finden Sie unter Definieren von Primärschlüsseln (ADO.NET).

Vorsicht:

Wenn für eine Spalte kein Spaltenname angegeben wird, erhält die Spalte einen Standardnamen "ColumnN," beginnend mit "Column1", der jeweils um eins erhöht wird, wenn sie der DataColumnCollection hinzugefügt wird. Es wird davon abgeraten, die Benennungskonvention "ColumnN" zum Benennen einer Spalte zu verwenden, wenn Sie einen Spaltennamen bereitstellen, da der Name u. U. einen Konflikt mit einem bereits vorhandenen Standardspaltennamen in der DataColumnCollection verursacht. Wenn der angegebene Name bereits vorhanden ist, wird eine Ausnahme ausgelöst.

Siehe auch

Referenz

DataColumn

DataColumnCollection

DataTable

Weitere Ressourcen

'DataTable'-Schemadefinition (ADO.NET)

'DataTables' (ADO.NET)