Benutzer mit den meisten Antworten
Speichern in Access Datenbank

Frage
-
Hallo zusammen,
Ich habe eine DataGridView erstellt mit einer NavigatorLeiste, dort habe ich einen Speicher Button erstellt.
Der Button enthält folgenden Code:
private void speichernToolStripButton1_Click(object sender, EventArgs e) { //Änderungen in DataSet in Datenbank schreiben tblFassdatenBindingSource.EndEdit(); tbl_FassdatenTableAdapter.Update(fassmessanlageDataSet.tbl_Fassdaten); fassmessanlageDataSet.AcceptChanges(); }
Leider wird der Wert nicht in die Datenbank geschrieben.
Woran liegt das?
Muss ich vlt. noch manuelle Einstellungen in Visual Studio beachten?
Gruß Stefan
Antworten
-
Hallo Stefan,
Wenn ich den Speicher Button betätige und im Anschluss das Debugging beende und wieder neu aufrufe, ist die neue Eingabe gespeichert, schau ich aber in meiner DB nach ist dort der neue Wert nicht gespeichert, eine Fehlermeldung erscheint nicht beim Abspeichern.
nur damit ich das nicht falsch verstehe:
Du rufst deine Anwendung auf, veränderst die Daten, drückst den Button "Speichern" und schließt danach die komplette Anwendung. Soweit richtig?
Wenn die Anwendung dann neu aufgerufen wird, sind die gespeicherten Daten in deiner Anwendung sichtbar?
Falls das so ist, werden die Daten auch in der Datenbank gespeichert. Fragt sich nur, ob Du die richtige Access Datenbank anschaust, wenn Du prüfen willst, ob diese dort eingetragen wurden. Ab und an kann auch vorkommen, dass die Änderungen nicht sofort direkt in Access sichtbar sind. In dem Fall solltest Du deine Anwendung nach dem Speichern mal komplett schließen und dann per Access schauen, ob die Änderungen vorhanden sind. Für den Fall, dass deine Anwendung dann trotzdem die geänderten Daten anzeigt, deine Access DB aber nicht, solltest Du wirklich prüfen, ob Du die richtige Datenbank ansprichst :)
Eigenschaften DataSet.xsd
Edit: Öhm. Was soll die DataSet.xsd hier machen?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 3. November 2010 20:34
-
Hallo Stefan,
danke für deinen Tip.
Ich hatte in VS 2008 Debuggt, als ich dort den Wert abspeicherte klappte es nicht.
Jetzt habe ich aber die in dem Ordner ../obj/Debug/ die Anwendungsdatei (.exe) aufgerufen und einen Testwert abgespeichert.
Jetzt hat es geklappt.
Also beim Debuggen in VS schrieb das Programm die Daten nicht in die Datenbank.
Erst beim Ausführen der .exe-Datei klappte es.
Ciao Stefan
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 3. November 2010 20:35
Alle Antworten
-
Hallo Stefan,
Leider wird der Wert nicht in die Datenbank geschrieben.
Woran liegt das?
was genau passiert denn? Kommt eine Fehlermeldung? Falls ja, welche genau? (Bitte die vollständige Fehlermeldung und den Code, bei dem diese ausgelöst wird, posten)
Sind die Änderungen vor dem Aufruf der Update-Methode auch wirklich in deiner DataTable enthalten?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Wenn ich den Speicher Button betätige und im Anschluss das Debugging beende und wieder neu aufrufe, ist die neue Eingabe gespeichert, schau ich aber in meiner DB nach ist dort der neue Wert nicht gespeichert, eine Fehlermeldung erscheint nicht beim Abspeichern.
Ich vermute, das die Eingabe nur im DataSet gespeichert ist aber nicht in die DB schreibt.
Kann das sein?
Aber ich weiß leider nicht, welche Einstellungen ich vornehmen muss und wo.
Eigenschaften DataSet.xsd
Buildvorgang: Keine
In Ausgabeverzeichnis kopieren: Kopieren, wenn neuer
Hier noch der Code für die DataGridView zu füllen:
private void Parameter_Load(object sender, EventArgs e) { this.tbl_FassdatenTableAdapter.Fill(this.fassmessanlageDataSet.tbl_Fassdaten); }
Danke schonmal im Vorraus
Gruß Stefan
-
Hallo Stefan,
Wenn ich den Speicher Button betätige und im Anschluss das Debugging beende und wieder neu aufrufe, ist die neue Eingabe gespeichert, schau ich aber in meiner DB nach ist dort der neue Wert nicht gespeichert, eine Fehlermeldung erscheint nicht beim Abspeichern.
nur damit ich das nicht falsch verstehe:
Du rufst deine Anwendung auf, veränderst die Daten, drückst den Button "Speichern" und schließt danach die komplette Anwendung. Soweit richtig?
Wenn die Anwendung dann neu aufgerufen wird, sind die gespeicherten Daten in deiner Anwendung sichtbar?
Falls das so ist, werden die Daten auch in der Datenbank gespeichert. Fragt sich nur, ob Du die richtige Access Datenbank anschaust, wenn Du prüfen willst, ob diese dort eingetragen wurden. Ab und an kann auch vorkommen, dass die Änderungen nicht sofort direkt in Access sichtbar sind. In dem Fall solltest Du deine Anwendung nach dem Speichern mal komplett schließen und dann per Access schauen, ob die Änderungen vorhanden sind. Für den Fall, dass deine Anwendung dann trotzdem die geänderten Daten anzeigt, deine Access DB aber nicht, solltest Du wirklich prüfen, ob Du die richtige Datenbank ansprichst :)
Eigenschaften DataSet.xsd
Edit: Öhm. Was soll die DataSet.xsd hier machen?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 3. November 2010 20:34
-
Hallo Stefan,
danke für deinen Tip.
Ich hatte in VS 2008 Debuggt, als ich dort den Wert abspeicherte klappte es nicht.
Jetzt habe ich aber die in dem Ordner ../obj/Debug/ die Anwendungsdatei (.exe) aufgerufen und einen Testwert abgespeichert.
Jetzt hat es geklappt.
Also beim Debuggen in VS schrieb das Programm die Daten nicht in die Datenbank.
Erst beim Ausführen der .exe-Datei klappte es.
Ciao Stefan
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 3. November 2010 20:35