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 PrimaryKey av egenskaperna och Unique .
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 efter namn till tabeller och relationer skiftlägeskänsliga. Om dataSet till DataSet exempel innehåller tabellerna Table1 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 du DataSet till exempel bara har Table1 kan du referera till den med hjälp av 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.