Share via


Een gegevenstabel toevoegen aan een dataset

ADO.NET kunt u objecten maken DataTable en toevoegen aan een bestaande DataSet. U kunt beperkingsgegevens voor een DataTable instellen met behulp van de PrimaryKey en Unique eigenschappen.

Opmerking

In het volgende voorbeeld wordt een DataSet, een nieuw DataTable object aan de DataSettabel toegevoegd en vervolgens drie DataColumn objecten aan de tabel toegevoegd. Ten slotte wordt met de code één kolom ingesteld als de primaire-sleutelkolom.

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}

Hoofdlettergevoeligheid

Twee of meer tabellen of relaties met dezelfde naam, maar verschillende hoofdletters, kunnen bestaan in een DataSet. In dergelijke gevallen zijn verwijzingen op naam naar tabellen en relaties hoofdlettergevoelig. Als de DataSetdataSet bijvoorbeeld tabellen Table1 en table1 bevat, verwijst u naar Table1 op naam als dataSet.Tables["Table1"], en tabel1 als dataSet.Tables["table1"]. Als u probeert te verwijzen naar een van de tabellen als dataSet.Tables["TABLE1"] wordt een uitzondering gegenereerd.

Het gedrag van hoofdlettergevoeligheid is niet van toepassing als slechts één tabel of relatie een bepaalde naam heeft. Als de DataSet tabel bijvoorbeeld alleen Tabel1 heeft, kunt u ernaar verwijzen met behulp van dataSet.Tables["TABLE1"].

Notitie

De CaseSensitive eigenschap van de DataSet eigenschap heeft geen invloed op dit gedrag. De CaseSensitive eigenschap is van toepassing op de gegevens in de DataSet gegevens en is van invloed op sorteren, zoeken, filteren, beperkingen afdwingen, enzovoort.

Ondersteuning voor naamruimten

In versies van ADO.NET ouder dan 2.0 konden twee tabellen niet dezelfde naam hebben, zelfs niet als ze zich in verschillende naamruimten bevonden. Deze beperking is verwijderd in ADO.NET 2.0. A DataSet kan twee tabellen bevatten met dezelfde TableName eigenschapswaarde, maar verschillende Namespace eigenschapswaarden.

Zie ook