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 in Verweisen auf Namen von Tabellen oder Beziehungen die Groß- und Kleinschreibung berücksichtigt werden. Wenn beispielsweise 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
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.