Die Community zu .NET und Classic VB.
Menü

FAQ 0148: Warum speichert VB.NET geänderte Datensätze nicht in der Datenbank?

 von 

Frage 

Warum werden meine neuen und geänderten Datensätze nicht in der Datenbank gespeichert?

Antwort  

Das ist häufig ein Mißverständnis bei der Arbeit mit typisierten Datasets.
Der Assistent zum Konfigurieren der Datenbankverbindung stellt die IDE standardmäßig so ein, daß die Datenbank-Datei bei jedem Testlauf neu in das Ausführungsverzeichnis kopiert wird. Effekt: Die Änderungen des vorherigen Testlaufes werden überschrieben, der Entwickler denkt, das Speichern sei fehlgeschlagen.

Abhilfe:

  • Im Projektmappen-Explorer die Datenbankdatei anwählen.
  • Im Eigenschaftenfenster die Eigenschaft "In Ausgabeverzeichnis kopieren" umstellen.

Zu Bedenken ist allerdings, daß dieses Feature durchaus nützlich ist. Auf diese Weise hat man für jeden Testlauf eine identische Ausgangslage, ungeachtet ggfs. destruktiver Datenmanipulationen des vorherigen Testlaufes.

Eine alternative Abhilfe ist:
Die Anwendung mit einer Schaltfläche ausstatten, die das Zurücksetzen und Neuladen der Daten implementiert. Dies läßt sich oft sehr einfach durch Umbau der schon vorhandenen Funktionalität zum Laden der Daten bewerkstelligen.

Vorteile:

  • Im Testlauf selbst kann geprüft werden, ob das Speichern richtig arbeitet. Die Testbedingungen bleiben identisch.
  • In der Endanwendung erhält der Benutzer dadurch eine (kostbare) Undo-Funktionalität, da er seine Arbeit jederzeit auf den Stand des letzten Abspeicherns zurücksetzen kann. Ein echtes Undo zu implementieren ist dagegen mit hundertfachem Aufwand verbunden.

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.