Freigeben über


Hinzufügen einer "DataTable" zu einem "DataSet"

Mit ADO.NET können Sie DataTable-Objekte erstellen und diese zu einem vorhandenen DataSet hinzufügen. Mit der DataTable-Eigenschaft und der PrimaryKey-Eigenschaft können Sie Einschränkungsinformationen für eine Unique festlegen.

Beispiel

Im folgenden Beispiel wird ein DataSet erstellt und dem DataTable ein neues DataSet-Objekt hinzugefügt. Anschließend werden der Tabelle drei DataColumn-Objekte hinzugefügt. Zum Schluss wird durch den Code eine Spalte als Primärschlüsselspalte festgelegt.

DataSet customerOrders = new("CustomerOrders");

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

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

Groß- und Kleinschreibung

Ein DataSet kann zwei oder mehr Tabellen oder Beziehungen mit demselben Namen, aber unterschiedlicher Schreibweise enthalten. In solchen Fällen muss bei namentlichen Verweisen auf Tabellen und Relationen die Groß- und Kleinschreibung beachtet werden. Wenn die DataSetdataSet Tabellen "Tabelle1" und "Tabelle1" enthalten sind, verweisen Sie beispielsweise auf "Table1" anhand des Namens "dataSet.Tables["Table1"], und "table1" als "dataSet.Tables["table1"]. Wenn Sie auf eine der Tabellen als dataSet.Tables["TABLE1"] verweisen, wird eine Ausnahme ausgelöst.

Das Verhalten der Unterscheidung nach Groß- und Kleinschreibung gilt nicht, wenn nur eine Tabelle oder Relation einen bestimmten Namen hat. Wenn beispielsweise das DataSet nur Table1 enthält, können Sie mit dataSet.Tables["TABLE1"] auf die Tabelle verweisen.

Hinweis

Die CaseSensitive-Eigenschaft des DataSet hat keine Auswirkungen auf dieses Verhalten. Die CaseSensitive-Eigenschaft gilt für die Daten im DataSet und hat Auswirkungen auf das Sortieren, Suchen, Filtern, Erzwingen von Einschränkungen, usw.

Namespace-Unterstützung

Vor ADO.NET 2.0 konnten zwei Tabellen nicht den gleichen Namen haben, selbst wenn sie sich in unterschiedlichen Namespaces befanden. Diese Einschränkung wurde in ADO.NET 2.0 aufgehoben. Ein DataSet kann zwei Tabellen enthalten, die den gleichen TableName-Eigenschaftswert, aber unterschiedliche Namespace-Eigenschaftswerte aufweisen.

Siehe auch