Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obiekt DataTable zawiera kolekcję DataColumn obiektów, do których odwołuje się właściwość Columns tabeli. Ta kolekcja kolumn wraz z wszelkimi ograniczeniami definiuje schemat lub strukturę tabeli.
Obiekty DataColumn można utworzyć w tabeli przy użyciu konstruktora DataColumn lub wywołując metodę Add właściwości Columns tabeli, czyli DataColumnCollection. Metoda Add akceptuje opcjonalne argumenty ColumnName, DataType i Expression oraz tworzy nową kolumnę DataColumn jako element członkowski kolekcji. Akceptuje również istniejący obiekt DataColumn i dodaje go do kolekcji oraz zwraca odwołanie do dodanego obiektu DataColumn , jeśli jest to wymagane. Ponieważ obiekty DataTable nie są specyficzne dla żadnego źródła danych, typy programu .NET Framework są używane podczas określania typu danych kolumny DataColumn.
Poniższy przykład dodaje cztery kolumny do tabeli 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));
W tym przykładzie zwróć uwagę, że właściwości kolumny CustID są ustawione tak, aby nie zezwalały na wartości DBNull i ograniczały wartości jako unikatowe. Jeśli jednak zdefiniujesz kolumnę CustID jako kolumnę klucza podstawowego tabeli, właściwość AllowDBNull zostanie automatycznie ustawiona na wartość false , a właściwość Unique zostanie automatycznie ustawiona na true. Aby uzyskać więcej informacji, zobacz Definiowanie kluczy podstawowych.
Ostrzeżenie
Jeśli nazwa kolumny nie jest podana dla kolumny, kolumna otrzymuje przyrostową domyślną nazwę kolumnyN, zaczynając od kolumny "Column1", po dodaniu jej do kolekcji DataColumnCollection. Zalecamy unikanie konwencji nazewnictwa kolumnyN podczas podawania nazwy kolumny, ponieważ podana nazwa może powodować konflikt z istniejącą domyślną nazwą kolumny w kolekcji DataColumnCollection. Jeśli podana nazwa już istnieje, zostanie zgłoszony wyjątek.
Jeśli używasz XElement jako DataTypeDataColumn w DataTable, serializacja XML nie będzie działać przy wczytywaniu danych. Na przykład, jeśli zapiszesz XmlDocument przy użyciu metody DataTable.WriteXml
, po serializacji do XML jest dodatkowy węzeł nadrzędny w XElement. Aby obejść ten problem, użyj SqlXml typu zamiast XElement.
ReadXml
i WriteXml
działa poprawnie z SqlXml.