Création d'un DataTable
Un objet DataTable, qui représente une table de données relationnelles en mémoire, peut être créé et utilisé de façon indépendante. Il peut également être utilisé par d'autres objets .NET Framework, la plupart du temps comme membre d'un objet DataSet.
Vous pouvez créer un objet DataTable en utilisant le constructeur DataTable approprié. Vous pouvez l’ajouter au DataSet à l’aide de la méthode Add afin de l’ajouter à la collection Tables de l’objet DataSet.
Vous pouvez également créer des objets DataTable dans un DataSet à l’aide de la méthode Fill ou FillSchema de l’objet DataAdapter ou à partir d’un schéma XML prédéfini ou déduit à l’aide de la méthode ReadXml, ReadXmlSchema ou InferXmlSchema du DataSet. Notez qu’une fois que vous avez ajouté un DataTable comme membre de la collection Tables d’un DataSet, vous ne pouvez pas l’ajouter à la collection de tables d’un autre DataSet.
Lorsque vous créez un DataTable, celui-ci ne possède pas encore de schéma (structure). Pour définir le schéma de la table, vous devez créer et ajouter des objets DataColumn à la collection Columns de la table. Vous pouvez également définir une colonne de clé primaire pour la table et créer et ajouter des objets Constraint à la collection Constraints de la table. Après avoir défini le schéma d’un DataTable, vous pouvez ajouter des lignes de données à la table en ajoutant des objets DataRow à la collection Rows de la table.
Lors de la création d’un DataTable, il n’est pas nécessaire que vous fournissiez une valeur pour la propriété TableName. Vous pouvez définir cette propriété ultérieurement ou la laisser vide. Néanmoins, lorsque vous ajoutez à un DataSet une table sans valeur TableName, un nom incrémentiel par défaut, TableN, est attribué à cette table. Ce nom est « Table » pour Table0.
Notes
Il est recommandé d’éviter d’utiliser la convention d’affectation de noms « TableN » lorsque vous fournissez une valeur TableName car le nom fourni peut entrer en conflit avec un nom de table par défaut existant du DataSet. Si le nom fourni existe déjà, une exception est levée.
L’exemple suivant crée une instance d’un objet DataTable et lui attribue le nom « Customers ».
Dim workTable as DataTable = New DataTable("Customers")
DataTable workTable = new DataTable("Customers");
L’exemple suivant crée une instance d’un DataTable en l’ajoutant à la collection Tables d’un DataSet.
Dim customers As DataSet = New DataSet
Dim customersTable As DataTable = _
customers.Tables.Add("CustomersTable")
DataSet customers = new DataSet();
DataTable customersTable = customers.Tables.Add("CustomersTable");