Définition du schéma d'un DataTable
Le schéma, ou structure, d'une table est représenté par des colonnes et des contraintes. Vous définissez le schéma d'un DataTable à l'aide d'objets DataColumn, ainsi que d'objets ForeignKeyConstraint et UniqueConstraint. Les colonnes d'une table peuvent mapper aux colonnes d'une source de données. Elles contiennent des valeurs calculées à partir d'expressions, incrémentent automatiquement leurs valeurs ou contiennent des valeurs de clé primaire.
Respect de la casse
Les références par nom aux colonnes, relations et contraintes d'une table respectent la casse. Une table peut contenir plusieurs colonnes, relations ou contraintes dont les noms ne diffèrent que par la casse. Vous pouvez, par exemple, avoir Col1 et col1. Dans ce cas, une référence par nom à l'une des colonnes doit correspondre exactement à la casse du nom de la colonne. Sinon, une exception sera levée. Par exemple, si la table myTable contient les colonnes Col1 et col1, vous devez référencer Col1 par nom comme myTable.Columns["Col1"] et col1 comme myTable.Columns["col1"]. Si vous tentez de référencer l'une des colonnes comme myTable.Columns["COL1"] une exception sera levée.
La règle de respect de la casse ne s'applique pas s'il n'existe qu'une seule colonne, relation ou contrainte ayant un nom particulier. En d'autres termes, si aucun autre objet de colonne, relation ou contrainte de la table ne correspond au nom de cet objet de colonne, relation ou contrainte, ne serait-ce que par une différence de casse, vous pouvez référencer l'objet par nom sans respecter la casse sans qu'une exception ne soit levée. Par exemple, si la table n'a que Col1, vous pouvez référencer cette colonne comme my.Columns["COL1"].
La propriété CaseSensitive du DataTable n'affecte pas ce comportement. La propriété CaseSensitive s'applique aux données de la table et affecte les contraintes de tri, de recherche, de filtrage, d'application, etc. Les références aux colonnes, relations et contraintes d'une table ne sont pas affectées par la propriété CaseSensitive.
Dans cette section
- Ajout de colonnes à une table
Décrit comment définir les colonnes d'une table à l'aide d'objets DataColumn. - Création de colonnes d'expression
Explique comment utiliser la propriété Expression d'une colonne pour calculer des valeurs en fonction des valeurs d'autres colonnes de la ligne. - Création de colonnes AutoIncrement
Décrit comment définir une colonne afin qu'elle incrémente automatiquement des valeurs numériques de façon à garantir le caractère unique des valeurs des colonnes d'une ligne. - Définition d'une clé primaire pour une table
Décrit comment spécifier la clé primaire d'une table à partir d'un ou plusieurs objets DataColumn. - Ajout de contraintes à une table
Décrit comment définir des contraintes uniques et de clé étrangère pour une colonne d'une table.