OleDbCommand.ExecuteNonQuery () speichert keine Änderungen in der MS Access-Datenbank
ich habe.mdb
Datenbank und Code wie folgt:
using (OleDbConnection connection = new OleDbConnection(myConnectionString))
{
using (OleDbCommand cmd = connection.CreateCommand())
{
cmd.CommandText = "UPDATE myTab SET col2 = @val1 WHERE col1 = @val2";
cmd.Parameters.AddWithValue("@val1", 0);
cmd.Parameters.AddWithValue("@val2", -1);
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
}
}
Ich erhalte Daten von db, ändere sie in meinem GUI-Programm und speichere sie dann in db. Änderungen werden gespeichert, aber nicht in db (ich weiß nicht wo). Wenn ich also ein Programm starte, Daten ändere, ein Programm schließe und dann erneut starte, bleiben Änderungen erhalten, aber wenn ich db öffne (nicht in programm), gibt es keine Änderungen gespeichert und erneut ausgeführt - alle Änderungen verschwinden.
PS: Wenn ich Änderungen festschreibe und dann das Programm mehrmals ausführe, verschwinden auch alle Änderungen nach (3-4 Durchläufe).