Créer DataTable en C#
-
Créer une table de données avec la classe
DataTable
enC#
-
Ajouter des lignes à la table de données en
C#
-
Exporter les données de la table de données vers XML en
C#
-
Exporter la structure de la table de données vers XML en
C#
Ce didacticiel abordera les méthodes de création et de remplissage d’une table de données en C#.
Créer une table de données avec la classe DataTable
en C#
La classe DataTable
permet de créer une table de données en C#. Une table de données représente une table avec des données relationnelles en C#. Lorsque nous créons pour la première fois une table de données avec la classe DataTable
, elle n’a pas de schéma spécifié. Nous devons créer et ajouter un objet de la classe DataColumn
pour spécifier la structure de la table de données. On peut ajouter l’objet de la classe DataColumn
à l’objet de la classe DataTable
avec la fonction DataTable.Columns.Add()
en C#.
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
}
}
}
Dans le code ci-dessus, nous avons créé la table de données DataTable
avec le nom Customers
et deux colonnes différentes, column1
et column2
, ayant respectivement les noms Column1
et Column2
. Nous avons spécifié le schéma de la workTable
en y ajoutant les deux colonnes. Nous pouvons maintenant ajouter des données à notre table sous forme de lignes.
Ajouter des lignes à la table de données en C#
Pour ajouter une ligne à notre table, nous devons créer un objet de la classe DataRow
. La classe DataRow
définit une nouvelle ligne pour ajouter des données à notre table en C#. On peut ajouter l’objet de la classe DataRow
à l’objet de la classe DataTable
avec la fonction DataTable.Row.Add()
en C#. L’exemple de code suivant nous montre comment ajouter des données à notre table avec la classe DataRow
en C#.
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
DataRow row1 = workTable.NewRow();
row1["Column1"] = "value1";
row1["Column2"] = "value2";
workTable.Rows.Add(row1);
}
}
}
Dans le code ci-dessus, nous avons initialisé l’instance row1
de la classe DataRow
avec la fonction workTable.NewRow()
. Nous avons ajouté des données pour les deux colonnes dans la row1
et ajouté row1
à la workTable
avec la fonction workTable.Rows.Add(row1)
en C#.
Nous pouvons également ajouter une nouvelle ligne à notre tableau avec l’approche suivante.
object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);
Dans le code ci-dessus, nous avons ajouté une nouvelle ligne à la table workTable
sans créer d’instance de la classe DataRow
. Une autre approche qui peut être utilisée pour insérer une nouvelle ligne dans notre table en C# est donnée ci-dessous.
workTable.Rows.Add("direct value1", "direct value2");
Dans le code ci-dessus, nous avons directement ajouté des valeurs à une nouvelle ligne de la table workTable
sans même déclarer un tableau d’objets.
Exporter les données de la table de données vers XML en C#
Maintenant que nous avons créé notre table avec la classe DataTable
, défini sa structure avec la classe DataColumn
, et ajouté plusieurs lignes à notre table, nous pouvons maintenant afficher notre table. Nous pouvons exporter toute notre table vers un fichier xml avec la fonction DataTable.WriteXml()
en C#. La fonction DataTable.WriteXml(path)
permet d’écrire toutes les données de notre table dans un fichier xml dans le path
. L’exemple de code suivant nous montre comment nous pouvons écrire nos données de table dans un fichier xml avec la fonction DataTable.WriteXml()
en C#.
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
DataRow row1 = workTable.NewRow();
row1["Column1"] = "value1";
row1["Column2"] = "value2";
workTable.Rows.Add(row1);
object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);
workTable.Rows.Add("direct value1", "direct value2");
workTable.WriteXml("workTable.xml");
}
}
}
Dans le code ci-dessus, nous avons exporté toutes les données de la table workTable
vers le fichier xml workTable.xml
avec la fonction workTable.WriteXml("workTable.xml")
en C#. Le contenu du fichier workTable.xml
est indiqué ci-dessous.
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Customers>
<Column1>value1</Column1>
<Column2>value2</Column2>
</Customers>
<Customers>
<Column1>object value1</Column1>
<Column2>object value2</Column2>
</Customers>
<Customers>
<Column1>direct value1</Column1>
<Column2>direct value2</Column2>
</Customers>
</DocumentElement>
Exporter la structure de la table de données vers XML en C#
Inversement, nous pouvons également exporter uniquement le schéma ou la structure de notre table vers un fichier xml en C#. La fonction DataTable.WriteXmlSchema(path)
permet d’écrire la structure de notre table de données dans un fichier xml dans le path
. L’exemple de code suivant nous montre comment écrire la structure de notre table dans un fichier xml avec la fonction DataTable.WriteXmlSchema(path)
en C#.
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
DataRow row1 = workTable.NewRow();
row1["Column1"] = "value1";
row1["Column2"] = "value2";
workTable.Rows.Add(row1);
object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);
workTable.Rows.Add("direct value1", "direct value2");
workTable.WriteXml("workTable.xml");
workTable.WriteXmlSchema("workTableSchema.xml");
}
}
}
Dans le code ci-dessus, nous avons exporté la structure de la table workTable
vers le fichier xml workTableSchema.xml
avec la fonction workTable.WriteXmlSchema("workTableSchema.xml")
en C#. Le contenu du fichier workTable.Schema.xml
est indiqué ci-dessous.
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Customers" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element name="Column1" type="xs:string" minOccurs="0" />
<xs:element name="Column2" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn