13 messaggi dal 04 novembre 2020
Buonasera, con xamarin forms e sqlite sto creando una app gestionale con database locale.
Il mio problema è che ogni volta che faccio una modifica al codice quando lo eseguo sul dispositivo per aggiornarlo mi viene cancellato completamente il database locale.
Qualcuno sa come fare in modo che questa non accada?
Mi sarebbe di grande aiuto.
Grazie.
843 messaggi dal 08 aprile 2009
potresti postare un pò di codice?
quando imposti l contesto con il path come apri il db? Quali flag gli passi?
13 messaggi dal 04 novembre 2020
ecco qua la classe relativa al db:

public class OnSalesDatabase
    {
        static readonly Lazy<SQLiteAsyncConnection> lazyInitializer = new Lazy<SQLiteAsyncConnection>(() =>
        {
            return new SQLiteAsyncConnection(Constants.DatabasePath, Constants.Flags);
        });

        static SQLiteAsyncConnection database => lazyInitializer.Value;
        static bool initialized = false;

        public OnSalesDatabase()
        {
            InitializeAsync().Wait();
        }

        
        async Task InitializeAsync()
        {
            if (!initialized)
           .
           .
           .
        }
    }


e la classe Constants

public static class Constants
    {
        public const string DatabaseFilename = "dbname.db3";

        public const SQLite.SQLiteOpenFlags Flags =
        SQLite.SQLiteOpenFlags.ReadWrite |
        SQLite.SQLiteOpenFlags.Create |
        SQLite.SQLiteOpenFlags.SharedCache;

        public static string DatabasePath
        {
            get
            {
                var basePath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                
                return Path.Combine(basePath, DatabaseFilename);
            }
        }
    }

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.