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).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage