Announcement

Collapse
No announcement yet.

C# DataTable.Copy()

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • C# DataTable.Copy()

    Hallo,<br>
    ich verwende eine Access 2000 Datenbank.<br>
    mit folgendem Code möchte ich den Inhalt einer DataTable in eine XML-Datei schieben.<br>
    <pre>
    <font face="Verdana" size="1" color="#000000">private void btnWriteXML_Click(object sender, System.EventArgs e)
    {
    string filename = "dataset.xml";
    DataTable XMLTable;
    FileStream XMLFileStream = new FileStream(filename, FileMode.Create);
    XmlTextWriter XmlWriter = new XmlTextWriter(XMLFileStream, Encoding.Unicode);
    <font face="Verdana" size="1" color="#FF0000"><b>XMLTable = dataSet1.Tables["Table1"].Copy();</b></font>
    DataSet XMLDataSet = new DataSet();
    XMLDataSet.Tables.Add(XMLTable);
    XMLDataSet.WriteXml(XmlWriter);
    XmlWriter.Close();

    }</font>
    </pre>
    In der dataset1 DataTableCollection befinden sich zwei Tabellen. Table1 und Table2.<br>
    Wenn ich die dataSet1.WriteXML Methode verwende, werden die Daten auch geschrieben. Leider werden aber<br>
    die Daten beider Tabellen geschrieben. Ich würde mir aber gerne die Tabelle aussuchen die geschrieben wird.<br>
    Da dachte ich mir, nehme ein neues Dataset (XMLDataSet) und schiebe die Tabelle darein. Im SDK steht, dass man eine Tabelle,<br>
    die zu einer DataTableCollection eines DataSets gehört nicht einem anderen DataSet hinzufügen kann. Deshalb erzeuge<br>
    ich XMLTable. mit der DataTable.Copy Methode möchte ich jetzt den Inhalt von dataSet1.Tables["Table1"] nach XMLTable<br>
    kopieren (steht so im SDK). Anschließend wird XMLTable zum XMLDataSet hinzugefügt. In der roten Ziele tritt aber folgende Exception auf:<br>
    <br>
    <b>Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in Access.exe aufgetreten<br>
    Zusätzliche Informationen: Der Wert 'null' wurde gefunden, als eine Objektinstanz erforderlich war.</b><br>

  • #2
    Hallo,<br>ich bin der Groß-Kleinschreibung zum Opfer gefallen.<br>
    Es muß heißen XMLTable = dataSet1.Tables["table1"].Copy(); <br>
    Jens Schuman

    Comment

    Working...
    X