DataGridView bzw. DataSet in SQL Server Compact 3.5 zurückschreiben

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    DataGridView bzw. DataSet in SQL Server Compact 3.5 zurückschreiben

    Hallo zusammen!

    Ich habe gerade ein kleines Problem, bei dem ich trotz Google und Boardsuche einfach nicht weiterkommen will. Vielleicht kann mir ja jemand einen Anhaltspunkt geben, damit ich ein wenig weiterkomme.

    Folgende Schritte habe ich gemacht:

    1. SQL Server Compact 3.5 Datenbank(datei) erstellt und in das Projekt eingebunden
    2. SQL-Datenbankstruktur bzw. eine Tabelle erstellt
    3. Tabelle einem DataSet zugeordnet
    4. DataGridView auf einer Windows Form erstellt und mit dem DataSet verbunden (Datenbank bzw. Tabelle wird auch normal angezeigt)

    Jetzt möchte ich, sobald ich Änderungen im DataGridView mache, diese Änderungen in die SQL-Datenbank zurückschreiben. Habe bereits den Weg über TableAdapter.Update probiert, aber auch das funktioniert nicht.

    Könnte mir vielleicht jemand direkt weiterhelfen, oder einen Tipp geben, wo ich zu suchen habe? Das wäre super!

    Vielen Dank! :thumbsup:
    Du brauchst nen Update-Command.

    SQL-Abfrage

    1. UPDATE DataSet1 SET DataSet1_Spalte1 'DataSet1_Spalte1 ist dann natürlich die Splate die du aktualisieren möchtest!


    Die Abfrage kannst du manuell machen oder du lässt sie dir im Assistenten generieren.

    dbsystel schrieb:

    Du brauchst nen Update-Command.

    SQL-Abfrage

    1. UPDATE DataSet1 SET DataSet1_Spalte1 'DataSet1_Spalte1 ist dann natürlich die Splate die du aktualisieren möchtest!


    Die Abfrage kannst du manuell machen oder du lässt sie dir im Assistenten generieren.

    Hm, okay, habe das jetzt über den Assistenten versucht, aber selbst mit dem Assistenten komme ich nicht wirklich weiter. Ich starte ihn und nur "UPDATE" erscheint. Öffne ich jetzt den Abfrage-Generator bekomme ich eine Fehlermeldung. Muss ich hier schon eine spezielle Syntax angeben? Brauche ich für SET nicht noch Werte zusätzlich zu der Spalte, die ich angebe? Stehe gerade irgendwie auf'm Schlauch.

    €:

    VB.NET-Quellcode

    1. Me.StandortTableAdapter.Update(Me.SettingsDataSet.standort)

    hilft auf den ersten Blick erstmal Weiter. Doch nach dem Beenden des Programms ist der Datensatz dann doch nicht vorhanden. Hmpf.

    €2:

    So, habe das Problem gefunden. Liegt daran, dass die Datenbank im Debug-Verzeichnis lag und jedes mal überschrieben wurde. Logisch, dass so nichts hinzugefügt werden konnte. Kann man das irgendwie umgehen bzw. wie sieht bei sowas der Workaround aus?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „BradCirclepit“ ()

    BradCirclepit schrieb:

    So, habe das Problem gefunden. Liegt daran, dass die Datenbank im Debug-Verzeichnis lag und jedes mal überschrieben wurde. Logisch, dass so nichts hinzugefügt werden konnte. Kann man das irgendwie umgehen bzw. wie sieht bei sowas der Workaround aus?

    Man kann es abschalten, oder auch so belassen, weils gar nicht so schlecht ist (Kannst herumtesten, wiedewillst, ohne deine DB zu verdaddeln).
    • Abschalten:
      in den DateiEigenschaften der DB-Datei "Ins AusgabeVerzeichnis kopieren = wenn neuer" einstellen.
    • Es belassen:
      Bastel dir einen "Reload"-Button, um zu laden, nich nur im FormLoad. Dann kannst du innerhalb eines testlaufes die Persistenz-Funktionalität überprüfen.
      Und so ein Button ist immer ziemlich fabelhaft, auch für den User: Hatter Schrott eingegeben, machter Reload und alles ist auf dem Stand vor dem letzten Abspeichern.