none
VS 2013 community: Einstieg in die Programmierung mit Datenbanken RRS feed

  • Frage

  • Guten Abend,

    ich arbeite mich gerade in die Programmierung mit lokalen Datenbanken ein und brauche etwas Hilfe:

    1. Ich habe eine lokale Datenbank erstellt (Daten.mdf)

    2. Unter Server-Explorer > Datenverbindungen > Daten.mdf > Tabellen eine Tabelle "Kunden" mit einigen Spalten ("Id",  "Name", ...) erstellt.

    3. Unter Datenquellen eine neue Datenquelle hinzugefügt. (DatenDataSet)

    4. Das DatenDataSet > "Kunden" per DropDown-Liste auf "Detail" gestellt und auf meine Form1 gezogen.


    Auf der Form1 werden die passenden Textboxen, der KundenBindingNavigator, der KundenTableAdapter, die KundenBindingSource, das DatenDataSet und der TableAdapterManager erstellt.

    Versuche ich nun einen neuen Datensatz zu erstellen und zu speichern (Save-Button des BindingNavigator), passiert nichts. Die Daten werden nicht in der Datenbank gespeichert.

    Private Sub KundenBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles KundenBindingNavigatorSaveItem.Click Try Me.Validate() Me.KundenBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.DatenDataSet) Catch ex As Exception MsgBox("Fehler") End Try End Sub

    Füge ich im Server-Explorer eine Datenzeile hinzu, funktioniert alles wie erwartet.

    Würde mich über Hinweise sehr freuen.

    Danke.



    Montag, 22. Dezember 2014 19:51

Antworten

  • Hi,
    ich vermute, dass Du in der falschen Datenbank nachschaust. Solange Du über das Visual Studio das Programm startest, wird jedes mal die Datenbank zur Ausführung kopiert und die Änderungen des letzten Durchlaufes sind verloren. Start das Programm mal außerhalb des Visual Studios (DeinProg.exe).

    --
    Peter

    • Als Antwort markiert marcel113 Dienstag, 23. Dezember 2014 20:13
    Dienstag, 23. Dezember 2014 15:59

Alle Antworten

  • Hallo marcel113,

    Würdest Du überprüfen, ob Dein tableAdapterManager mit dem TableAdapter verbunden ist? In folgender Diskussion hat das zur Lösung dieses Problems geführt:
    How to update database using dataset, tablemanager, and bindingsource?

    Siehe auch diese Vorgehensweise:
    UpdateAll method not saving the first record

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 23. Dezember 2014 15:29
    Administrator
  • Hi,
    ich vermute, dass Du in der falschen Datenbank nachschaust. Solange Du über das Visual Studio das Programm startest, wird jedes mal die Datenbank zur Ausführung kopiert und die Änderungen des letzten Durchlaufes sind verloren. Start das Programm mal außerhalb des Visual Studios (DeinProg.exe).

    --
    Peter

    • Als Antwort markiert marcel113 Dienstag, 23. Dezember 2014 20:13
    Dienstag, 23. Dezember 2014 15:59
  • Hallo,

    tatsächlich. Starte ich die .exe aus dem Debug-Ordner funktioniert alles wie erwartet.

    Habe gerade unter den Eigenschaften meiner Daten.mdf den Punkt "In Ausgabeverzeichnis kopieren" entdeckt und auf "Kopieren, wenn neuer" gesetzt. Nun wird die leere DB nicht mehr kopiert.

    Vielen Dank und frohe Weihnachten.

    Dienstag, 23. Dezember 2014 20:13