Probleme beim speichern !

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von MR_NMS.

    Probleme beim speichern !

    Hi!
    ​Habe gerade gemerkt, wenn ich komplett neu starte ohne irgendwelche Daten und mit gebundenen TextBoxen Daten speichern möchte werden diese leider nicht gespeichert.
    ​Gebe ich Daten über ein gebundenes DGV ein und speichere diese, werden die Daten komplett gespeichert.
    ​Ist nun ein Datensatz vorhanden, und ich lege einen neuen an, gebe Werte in die TextBoxen ein und speichere diese geht es auch!

    Speichern

    VB.NET-Quellcode

    1. Me.Validate()
    2. Me.UmsatzdatenDataSet.WriteXml(_Datafile.FullName)
    3. Me.UmsatzdatenDataSet.AcceptChanges()


    ​Neuen anlegen

    VB.NET-Quellcode

    1. UmsatzdatenDataTableBindingSource.AddNew()​



    Was mache ich falsch?

    Neu

    Hallo

    Wennich das so lese, tippe ich darauf das du das XML bei jedem Build neu kopierst.
    Du kannst evtl versuchen einzustellen das nur kopiert wird wenn neuer.
    Hier in der Arbeit habe ich nur die Englische Version, sollte aber zeigen was gemeint ist.



    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)

    Neu

    MR_NMS schrieb:

    Bei mir kann ich diese Einstellung im Dataset vornehmen

    Das eine hat mit dem anderen nichts zu tun. Kannst du bitte hier Posten wie die Buildeinstellungen deiner XML eingestellt sind? (siehe meinen ersten Post)

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)

    Neu

    Du hast ja sicher eine Datei (XML) auf welche du das DGV Bindest, oder wird die generiert?
    Wenn ersteres, dann klicke die Datei und zeige uns einen Screenshot des Eigenschaftenfensters.

    Sei mir nicht böse aber du zeigst keinerlei Code, gibt nur dürftige Angaben und meine Glaskugel soll die Lösung für dein Problem kennen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)

    Neu

    OK, lass ziehe ich dir noch mehr Infos aus den Rippen wenn du sie mir von dir aus gibst.

    Ist nach dem XML da? Ja? Wurden die Daten korrekt gespeichert?
    Wenn ja, wie ladest du die Daten? Evtl wird nicht korrekt geladen. (Hast du ja auch noch nicht geschildert.)
    Ist die XML nach dem Laden -> vor dem Speichern leer oder nicht?

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)

    Neu

    Schreibe ich die Daten direkt in das gebundene DGV und speichere sie dann, ist alles ok und die Daten werden richtig in die XML geschrieben!
    ​Erstelle ich jetzt einen neuen Datensatz und trage die Daten über die gebundenen TextBoxen ein, drücke dann speichern wird auch alles richtig in die XML geschrieben.
    ​Ist es jetzt aber so, das keine Daten vorhanden sind, also eine leere XML, trag Daten in die TextBoxen ein und drücke dann speichern, wird nichts in die XML geschrieben!

    Code neuer Datensatz

    VB.NET-Quellcode

    1. ​ UmsatzdatenDataTableBindingSource.AddNew()


    Code speichern

    VB.NET-Quellcode

    1. Me.Validate()
    2. Me.UmsatzdatenDataSet.WriteXml(_Datafile.FullName)
    3. Me.UmsatzdatenDataSet.AcceptChanges()

    Neu

    OK, jetzt ist das problem zumindest so beschrieben das man mit der erklärung was Anfangen kann.

    BTW: Du darfst dich nämlich nicht wurdern wenn hier niemand anders Antwortet (DGV und DataSet ist nicht mein Thema, ich Arbeite nur WPF) wenn du so einen Titewl wählst du dein PRoblem so erklärst.
    Da wird nun eine etwas bessere erklärung haben merkiere ich nun mal @ErfinderDesRades. Bis er sich meldet empfehle ich dir die Tutorials von ihm in dieser Rubrik.

    Das wird schon, er ist der DGV Profi.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)

    Neu

    Ich hab's mir 3x durchgelesen. Ich blick's immer noch nicht. Was ist das Problem? Du startest ohne Daten das Programm. Was machst Du genau und was passiert dann, was Dir nicht gefällt? Welches Verhalten hast Du und welches erwartest Du?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von VaporiZed, mal wieder aus Grammatikgründen.

    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«

    Neu

    OK, dann versuche ich es noch einmal.

    Ich starte das Programm Test neu ohne vorhandene Daten!
    ​Drücke den Button Neuer Datensatz
    ​Gebe dann in die TextBox Waschzahlen und Umsatz etwas ein
    Drücke dann den Button speichern
    ​Es wird nichts gespeichert

    Mache ich es jetzt so
    Ich starte das Programm Test neu ohne vorhandene Daten!
    ​Drücke den Button Neuer Datensatz
    ​Gebe die Daten direkt in das DGV ein
    Drücke dann den Button speichern
    Werden alle eingetragenen Daten gespeichert


    ​Nun soll es aber auch so sein, wenn das Programm zum ersten mal gestartet wird und Daten über die TextBoxen eingegeben werden auch
    in die Xml geschrieben werden sollen!

    Neu

    Falsche Reihenfolge.
    Erst EndEdit, dann abspeichern. Ohne EndEdit werden die Einträge quasi nicht für voll genommen.

    VB.NET-Quellcode

    1. Me.Validate()
    2. Me.UmsatzDtBindingSource.EndEdit()
    3. Me.UmsatzDS.WriteXml(_Datafile.FullName)
    4. Me.UmsatzDS.AcceptChanges()
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von VaporiZed, mal wieder aus Grammatikgründen.

    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«