Språk
Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
A DataTable innehåller en samling DataColumn objekt som refereras till av Columns tabellens egenskap. Den här samlingen med kolumner, tillsammans med eventuella begränsningar, definierar tabellens schema eller struktur.
Du skapar DataColumn-objekt i en tabell med hjälp av DataColumn-konstruktorn eller genom att anropa Add-metoden hos Columns-egenskapen hos tabellen, som är en DataColumnCollection. Metoden Add accepterar valfria ColumnName-, DataType- och Expression argument och skapar en ny DataColumn som medlem i samlingen. Det accepterar också ett befintligt DataColumn objekt och lägger till det i samlingen och returnerar en referens till det tillagda DataColumn om det begärs. Eftersom DataTable objekt inte är specifika för någon datakälla används .NET Framework-typer när du anger datatypen för en DataColumn.
I följande exempel läggs fyra kolumner till i en DataTable.
Dim workTable As DataTable = New DataTable("Customers")
Dim workCol As DataColumn = workTable.Columns.Add( _
"CustID", Type.GetType("System.Int32"))
workCol.AllowDBNull = false
workCol.Unique = true
workTable.Columns.Add("CustLName", Type.GetType("System.String"))
workTable.Columns.Add("CustFName", Type.GetType("System.String"))
workTable.Columns.Add("Purchases", Type.GetType("System.Double"))
DataTable workTable = new DataTable("Customers");
DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;
workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));
Observera i exemplet att egenskaperna för CustID kolumnen är inställda på att inte tillåta DBNull värden och att begränsa värden till att vara unika. Men om du definierar CustID kolumnen som primärnyckelkolumnen i tabellen AllowDBNull anges egenskapen automatiskt till false och Unique egenskapen anges automatiskt till true. Mer information finns i Definiera primära nycklar.
Försiktighet
Om ett kolumnnamn inte anges för en kolumn får kolumnen ett inkrementellt standardnamn för KolumnN, med början i "Column1", när den läggs till i DataColumnCollection. Vi rekommenderar att du undviker namngivningskonventionen för "KolumnN" när du anger ett kolumnnamn, eftersom namnet du anger kan vara i konflikt med ett befintligt standardkolumnnamn i DataColumnCollection. Om det angivna namnet redan finns genereras ett undantag.
Om du använder XElement som DataType en DataColumn i DataTable, fungerar XML-serialiseringen inte när du läser i data. Om du till exempel skriver ut en XmlDocument genom att använda metoden DataTable.WriteXml, finns det vid serialisering till XML en ytterligare överordnad nod i XElement. För att åtgärda det här problemet, använd SqlXml-typen istället för XElement.
ReadXml och WriteXml fungerar korrekt med SqlXml.