OleDbCommand.ExecuteNonQuery () no guarda los cambios en la base de datos de acceso ms

yo tengo.mdb Base de datos, y código como este:

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();
     }
}

Obtengo datos de db, los cambio en mi programa gui, luego los guardo en db. Los cambios se guardan, pero no en db (no sé dónde), así que cuando ejecuto el programa, cambio datos, cierro el programa y luego vuelvo a ejecutar. Los cambios permanecen, pero cuando abro db (no en programm), no hay cambios guardado, y nuevamente ejecutado - todos los cambios desaparecen
PD: cuando confirmo cambios, luego ejecuto el programa varias veces, todos los cambios desaparecen también, después de (3-4 ejecuciones)

Respuestas a la pregunta(2)

Su respuesta a la pregunta