Crea DataTable in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Crea tabella dati con la classe DataTable in C#
  2. Aggiungi righe alla tabella dati in C#
  3. Esportare i dati della tabella dati in XML in C#
  4. Esporta la struttura della tabella dati in XML in C#
Crea DataTable in C#

Questo tutorial discuterà i metodi per creare e riempire una tabella dati in C#.

Crea tabella dati con la classe DataTable in C#

La DataTable class viene utilizzata per creare una tabella di dati in C#. Una tabella dati rappresenta una tabella con dati relazionali in C#. Quando creiamo per la prima volta una tabella dati con la classe DataTable, non ha uno schema specificato. Dobbiamo creare e aggiungere un oggetto della classe DataColumn per specificare la struttura della tabella dati. Possiamo aggiungere l’oggetto della classe DataColumn all’oggetto della classe DataTable con la funzione DataTable.Columns.Add() in 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);
    }
  }
}

Nel codice sopra, abbiamo creato la tabella dati workTable con il nome Customers e due colonne differenti, column1 e column2, aventi rispettivamente i nomi Column1 e Column2. Abbiamo specificato lo schema della workTable aggiungendovi entrambe le colonne. Ora possiamo aggiungere dati alla nostra tabella sotto forma di righe.

Aggiungi righe alla tabella dati in C#

Per aggiungere una riga alla nostra tabella, dobbiamo creare un oggetto della classe DataRow. La DataRow class definisce una nuova riga per aggiungere dati alla nostra tabella in C#. Possiamo aggiungere l’oggetto della classe DataRow all’oggetto della classe DataTable con la funzione DataTable.Row.Add() in C#. Il seguente esempio di codice ci mostra come possiamo aggiungere dati alla nostra tabella con la classe DataRow in 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);
    }
  }
}

Nel codice precedente, abbiamo inizializzato l’istanza row1 della classe DataRow con la funzione workTable.NewRow(). Abbiamo aggiunto i dati per entrambe le colonne nella row1 e abbiamo aggiunto row1 alla workTable con la funzione workTable.Rows.Add(row1) in C#.

Possiamo anche aggiungere una nuova riga alla nostra tabella con il seguente approccio.

object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);

Nel codice precedente, abbiamo aggiunto una nuova riga alla tabella workTable senza creare un’istanza della classe DataRow. Di seguito è fornito un altro approccio che può essere utilizzato per inserire una nuova riga nella nostra tabella in C#.

workTable.Rows.Add("direct value1", "direct value2");

Nel codice precedente, abbiamo aggiunto direttamente i valori a una nuova riga nella tabella workTable senza nemmeno dichiarare un array di oggetti.

Esportare i dati della tabella dati in XML in C#

Ora che abbiamo creato la nostra tabella con la classe DataTable, definito la sua struttura con la classe DataColumn e aggiunto più righe alla nostra tabella, possiamo ora visualizzare la nostra tabella. Possiamo esportare la nostra intera tabella in un file xml con la funzione DataTable.WriteXml() in C#. La funzione DataTable.WriteXml(path) è usata per scrivere tutti i dati della nostra tabella in un file xml nel path. Il seguente esempio di codice ci mostra come scrivere i dati della nostra tabella in un file xml con la funzione DataTable.WriteXml() in 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");
    }
  }
}

Nel codice sopra, abbiamo esportato tutti i dati all’interno della tabella workTable nel file xml workTable.xml con la funzione workTable.WriteXml("workTable.xml") in C#. I contenuti del file workTable.xml sono riportati di seguito.

<?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>

Esporta la struttura della tabella dati in XML in C#

Al contrario, possiamo anche esportare solo lo schema o la struttura della nostra tabella in un file xml in C#. La funzione DataTable.WriteXmlSchema(path) è usata per scrivere la struttura della nostra tabella dati in un file xml nel path. Il seguente esempio di codice ci mostra come scrivere la struttura della nostra tabella in un file xml con la funzione DataTable.WriteXmlSchema(path) in 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");
    }
  }
}

Nel codice sopra, abbiamo esportato la struttura della tabella workTable nel file xml workTableSchema.xml con la funzione workTable.WriteXmlSchema("workTableSchema.xml") in C#. I contenuti del file workTable.Schema.xml sono riportati di seguito.

<?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>
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Articolo correlato - Csharp DataTable