Share via


Ajout de colonnes à une table

Un DataTable contient une collection d'objets DataColumn référencés par la propriété Columns de la table. Cette collection de colonnes, ainsi que toute contrainte, définit le schéma, ou structure, de la table.

Vous pouvez créer des objets DataColumn dans une table en utilisant le constructeur DataColumn ou en appelant la méthode Add de la propriété Columns de la table, qui est un DataColumnCollection. La méthode Add acceptera des arguments facultatifs ColumnName, DataType et Expression et créera un nouveau DataColumn en tant que membre de la collection. Elle acceptera également un objet DataColumn existant, l'ajoutera à la collection et retournera une référence au DataColumn ajouté, si nécessaire. Étant donné que les objets DataTable ne sont spécifiques à aucune source de données, les types .NET Framework sont utilisés lors de la spécification du type de données d'un DataColumn.

L'exemple suivant ajoute quatre colonnes à un DataTable.

Dim workTable As DataTable = New DataTable("Customers")

Dim workCol As DataColumn = workTable.Columns.Add("CustID", Type.GetType("System.Int32"))
workColumn.AllowDBNull = false
workColumn.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"))
[C#]
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));

Dans cet exemple, remarquez que les propriétés de la colonne CustID sont définies de sorte à ne pas accepter de valeurs DBNull et à limiter les valeurs à des valeurs uniques. Cependant, si vous définissez la colonne CustID comme colonne clé primaire de la table, la propriété AllowDBNull prendra automatiquement la valeur false et la propriété Unique la valeur true. Pour plus d'informations, consultez Définition d'une clé primaire pour une table.

ATTENTION   Si aucun nom n'est fourni pour une colonne, un nom incrémentiel par défaut de ColumnN (à partir de « Column1 ») sera attribué à cette colonne lors de son ajout au DataColumnCollection. Il est recommandé d'éviter d'utiliser la convention d'affectation de noms « ColumnN » lorsque vous fournissez un nom de colonne, car le nom fourni peut entrer en conflit avec un nom de colonne par défaut existant du DataColumnCollection. Si le nom fourni existe déjà, une exception sera levée.

Voir aussi

Création et utilisation de DataTables | DataColumn, classe | DataColumnCollection, classe | DataTable, classe