Freigeben über


Hinzufügen einer 'DataTable' zu einem 'DataSet' (ADO.NET)

Aktualisiert: November 2007

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

Beispiel

Im folgenden Beispiel wird ein DataSet erstellt und dem DataSet ein neues DataTable-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.

Dim customerOrders As DataSet = 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}
DataSet customerOrders = new DataSet("CustomerOrders");

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

DataColumn pkOrderID = 
    ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(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 in Verweisen auf Namen von Tabellen oder Beziehungen die Groß- und Kleinschreibung berücksichtigt werden. Wenn beispielsweise das DataSet dataSet die Tabellen Table1 und table1 enthält, muss auf den Namen von Table1 mit dataSet.Tables["Table1"] verwiesen werden, und auf den Namen von table1 mit dataSet.Tables["table1"]. Wenn Sie auf eine der Tabellen als dataSet.Tables["TABLE1"] verweisen, wird eine Ausnahme ausgelöst.

Die Groß- und Kleinschreibung muss nicht berücksichtigt werden, wenn nur eine Tabelle oder Beziehung einen bestimmten Namen aufweist. 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.

Unterstützte Namespaces

In ADO.NET-Versionen 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

Weitere Ressourcen

'DataSets', 'DataTables' und 'DataViews' (ADO.NET)