Lägga till en datatabell i en DataSet

ADO.NET gör att du kan skapa DataTable objekt och lägga till dem i en befintlig DataSet. Du kan ange villkorsinformation för en DataTable med hjälp av PrimaryKey och Unique-egenskaperna.

Exempel

I följande exempel skapas ett DataSet, lägger till ett nytt DataTable objekt i DataSetoch lägger sedan till tre DataColumn objekt i tabellen. Slutligen anger koden en kolumn som primärnyckelkolumn.

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}

Skiftlägeskänslighet

Två eller flera tabeller eller relationer med samma namn, men olika höljen, kan finnas i en DataSet. I sådana fall är referenser med namn till tabeller och relationer skiftlägeskänsliga. Om till exempel innehåller tabellerna DataSetdataSetTable1 och table1 refererar du till Table1 efter namn som dataSet.Tables["Table1"] och table1 som dataSet.Tables["table1"]. Ett försök att referera till någon av tabellerna som dataSet.Tables["TABLE1"] skulle generera ett undantag.

Beteendet för skiftlägeskänslighet gäller inte om endast en tabell eller relation har ett visst namn. Om DataSet bara har Table1 kan du referera den med dataSet.Tables["TABLE1"].

Kommentar

Egenskapen CaseSensitive för DataSet påverkar inte det här beteendet. Egenskapen CaseSensitive gäller för data i DataSet och påverkar sortering, sökning, filtrering, framtvingande av begränsningar och så vidare.

Stöd för namnområde

I versioner av ADO.NET tidigare än 2.0 kunde två tabeller inte ha samma namn, även om de fanns i olika namnområden. Den här begränsningen togs bort i ADO.NET 2.0. En DataSet kan innehålla två tabeller som har samma TableName egenskapsvärde men olika Namespace egenskapsvärden.

Se även