Es ist nichts falsch mit dem Code. Ich vermute, dass die Verbindungszeichenfolge eine Benutzerinstanz Datenbank verwendet, dh es die AttachDBFilename
und User Instance=true
Schlüsselwörter hat:
Data Source=.\SQLEXPRESS; AttachDBFilename=|DataDirectory|\db.mdf; User Instance=true;...
Das bedeutet, dass jeder Benutzer, der auf die Datenbankdatei zu befestigen versucht, seine eigene Kopie erhält. Wenn Sie versuchen, die Daten mit SSMS zu überprüfen, sehen Sie eine andere Kopie der Datenbank.
Diese Funktion ist nicht nur verwirrend, sondern veraltet und wird in Zukunft entfernt.
Nur eine richtige Datenbank in der Datenbankserver erstellen und eine Verbindung zu ihm durch Angabe ihres Namens:
Data Source=.\SQLEXPRESS; Initial Catalog=MyDB;...
Sie die Datenbank erstellen kann entweder aus dem New Database
Menü in SSMS oder mit einem CREATE DATABASE MyDB
Befehl
Weitere Informationen finden Sie in Bad habits : Using AttachDBFileName von Aaron Bertrand
Überprüfen Sie, ob Ihre Situation wie die hier beschriebenen ist http://StackOverflow.com/Questions/17147249/Why-Saving-Change-Toa-Database- fails/17147460 # 17147460 – Steve
Umgeben Sie es mit einem Try-Catch und legen Sie einen Haltepunkt in den Fang –
Sind Sie auf die richtige Datenbank ausgerichtet? Was ist Ihre Verbindungszeichenfolge? Versuchen Sie, in einer dateibasierten Datenbank zu speichern? –