Freigeben über


Hinzufügen einer Datentabelle zu einem DataSet

Mit ADO.NET können Sie DataTable-Objekte erstellen und diese zu einem vorhandenen DataSet hinzufügen. Sie können die Informationen für eine DataTable mit den Eigenschaften PrimaryKey und Unique der DataColumn-Objekte einschränken, die zur Columns-Auflistung der DataTable hinzugefügt werden.

Im folgenden Beispiel wird ein DataSet erstellt, ein neues DataTable-Objekt zum DataSet hinzugefügt und anschließend werden drei DataColumn-Objekte in die Tabelle eingefügt. Schließlich wird eine Spalte als Spalte für den Primärschlüssel festgelegt.

Dim custDS As DataSet = New DataSet("CustomerOrders")

Dim ordersTable As DataTable = custDS.Tables.Add("Orders")

Dim pkCol 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() {pkCol}
[C#]
DataSet custDS = new DataSet("CustomerOrders");

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

DataColumn pkCol = ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));

ordersTable.PrimaryKey = new DataColumn[] {pkCol};

Unterscheidung der Groß-/Kleinschreibung

Bei Namensverweisen auf Tabellen und Beziehungen in einem DataSet wird zwischen Groß- und Kleinschreibung unterschieden. Ein DataSet kann zwei oder mehr Tabellen oder Beziehungen mit demselben Namen, aber unterschiedlicher Schreibweise enthalten. So könnte es z. B. Table1 und table1 enthalten. In dieser Situation muss ein Namensverweis auf eine der Tabellen exakt mit der Schreibweise des Tabellennamens übereinstimmen; andernfalls wird eine Ausnahme ausgelöst. Wenn das DataSet myDS z. B. die Tabellen Table1 und table1 enthält, würden Sie über einen Namensverweis auf Table1 als myDS.Tables["Table1"] und auf table1 als myDS.Tables ["table1"] verweisen. Wenn Sie auf eine der Tabellen als myDS.Tables ["TABLE1"] verweisen würden, würde eine Ausnahme ausgelöst.

Die Regel zur Berücksichtigung der Groß-/Kleinschreibung gilt nicht, wenn nur eine Tabelle oder Beziehung mit einem bestimmten Namen vorhanden ist. Das bedeutet Folgendes: Wenn kein anderes Tabellen- oder Beziehungsobjekt im DataSet dem Namen dieses spezifischen Tabellen- oder Beziehungsobjekts – selbst in Bezug auf eine unterschiedliche Groß-/Kleinschreibung – entspricht, können Sie mit dem Namen auf das Objekt verweisen und dabei eine beliebige Groß-/Kleinschreibung verwenden, ohne dass dadurch eine Ausnahme ausgelöst wird. Wenn das DataSet z. B. nur Table1 besitzt, können Sie mit myDS.Tables["TABLE1"] darauf verweisen.

Die CaseSensitive-Eigenschaft des DataSets hat keine Auswirkung auf dieses Verhalten. Diese Eigenschaft gilt für die Daten im DataSet und wirkt sich auf das Sortieren, Suchen, Filtern, Verstärken von Einschränkungen usw. aus. Verweise auf die Tabellen oder Beziehungen in einem DataSet werden von der CaseSensitive-Eigenschaft nicht beeinflusst.

Siehe auch

Erstellen und Verwenden von DataSets | DataSet-Klasse | DataTable-Klasse