DataTable erstellen in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Erstellen Sie eine Datentabelle mit der Klasse DataTable in C#
  2. Hinzufügen von Zeilen zur Datentabelle in C#
  3. Exportieren von Daten der Datentabelle nach XML in C#
  4. Exportieren der Struktur der Datentabelle nach XML in C#
DataTable erstellen in C#

In diesem Lernprogramm werden die Methoden zum Erstellen und Füllen einer Datentabelle in C# erläutert.

Erstellen Sie eine Datentabelle mit der Klasse DataTable in C#

Mit der Klasse DataTable wird eine Datentabelle in C# erstellt. Eine Datentabelle repräsentiert eine Tabelle mit relationalen Daten in C#. Wenn wir zum ersten Mal eine Datentabelle mit der Klasse DataTable erstellen, hat sie kein angegebenes Schema. Wir müssen ein Objekt der Klasse DataColumn erstellen und hinzufügen, um die Struktur der Datentabelle anzugeben. Wir können das Objekt der Klasse DataColumn mit der Funktion DataTable.Columns.Add() in C# zum Objekt der Klasse DataTable hinzufügen.

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);
    }
  }
}

Im obigen Code haben wir die Datentabelle workTable mit dem Namen Customers und zwei verschiedenen Spalten column1 und column2 mit den Namen Column1 bzw. Column2 erstellt. Wir haben das Schema der workTable angegeben, indem wir beide Spalten hinzugefügt haben. Jetzt können wir unserer Tabelle Daten in Form von Zeilen hinzufügen.

Hinzufügen von Zeilen zur Datentabelle in C#

Um unserer Tabelle eine Zeile hinzuzufügen, müssen wir ein Objekt der Klasse DataRow erstellen. Die Klasse DataRow definiert eine neue Zeile zum Hinzufügen von Daten zu unserer Tabelle in C#. Wir können das Objekt der Klasse DataRow mit der Funktion DataTable.Row.Add() in C# zum Objekt der Klasse DataTable hinzufügen. Das folgende Codebeispiel zeigt uns, wie wir mit der Klasse DataRow in C# Daten zu unserer Tabelle hinzufügen können.

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);
    }
  }
}

Im obigen Code haben wir die Instanz row1 der Klasse DataRow mit der Funktion workTable.NewRow() initialisiert. Wir haben Daten für beide Spalten in row1 hinzugefügt und row1 mit der Funktion workTable.Rows.Add(row1) in C# zur workTable hinzugefügt.

Mit dem folgenden Ansatz können wir unserer Tabelle auch eine neue Zeile hinzufügen.

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

Im obigen Code haben wir der Tabelle workTable eine neue Zeile hinzugefügt, ohne eine Instanz der Klasse DataRow zu erstellen. Ein anderer Ansatz, der verwendet werden kann, um eine neue Zeile in unsere Tabelle in C# einzufügen, ist unten angegeben.

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

Im obigen Code haben wir einer neuen Zeile in der Tabelle workTable direkt Werte hinzugefügt, ohne ein Array von Objekten zu deklarieren.

Exportieren von Daten der Datentabelle nach XML in C#

Nachdem wir unsere Tabelle mit der Klasse DataTable erstellt, ihre Struktur mit der Klasse DataColumn definiert und unserer Tabelle mehrere Zeilen hinzugefügt haben, können wir unsere Tabelle jetzt anzeigen. Wir können unsere gesamte Tabelle mit der Funktion DataTable.WriteXml() in C# in eine XML-Datei exportieren. Mit der Funktion DataTable.WriteXml(path) werden alle Daten unserer Tabelle in eine XML-Datei im path geschrieben. Das folgende Codebeispiel zeigt uns, wie wir unsere Tabellendaten mit der Funktion DataTable.WriteXml() in C# in eine XML-Datei schreiben können.

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");
    }
  }
}

Im obigen Code haben wir alle Daten in der Tabelle workTable mit der Funktion workTable.WriteXml("workTable.xml") in C# in die XML-Datei workTable.xml exportiert. Der Inhalt der Datei workTable.xml ist unten angegeben.

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

Exportieren der Struktur der Datentabelle nach XML in C#

Umgekehrt können wir auch nur das Schema oder die Struktur unserer Tabelle in eine XML-Datei in C# exportieren. Mit der Funktion DataTable.WriteXmlSchema(path) wird die Struktur unserer Datentabelle in eine XML-Datei im path geschrieben. Das folgende Codebeispiel zeigt uns, wie wir die Struktur unserer Tabelle mit der Funktion DataTable.WriteXmlSchema(path) in C# in eine XML-Datei schreiben können.

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");
    }
  }
}

Im obigen Code haben wir die Struktur der Tabelle workTable in die Xml-Datei workTableSchema.xml mit der Funktion workTable.WriteXmlSchema("workTableSchema.xml") in C# exportiert. Der Inhalt der Datei workTable.Schema.xml ist unten angegeben.

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

Verwandter Artikel - Csharp DataTable