2014-12-14 2 views
0

У меня очень странный случай использования sqlite-pcl в платформе Android ... У меня есть один класс для базы данных, который наследуется от SQLiteConnection, я использую личную папку для своего db, в конструкторе I имеют одну проверку на существование, но часто, когда я запустить приложение снова, без удаления каких-либо файлов, то вернуть ложь ...инициализация базы данных sqlite-pcl на платформе android

public class ScannifyDatabase : SQLiteConnection 
      { 
     public static string DBPath 
       { 
        get 
        { 
         string path =  System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); 
         return System.IO.Path.Combine(path, "Scaniff.db3"); 
        } 
       } 
     public ScannifyDatabase(string path) 
       : base(new SQLitePlatformAndroid(),path) 
      { 
       if (!TableExists()) 
       { 
       this.CreateTable<DocumentType>(); 
       InitData(); 
       } 
      } 
     private bool TableExists() 
      { 
       // return this.TableExists(); 
       const string cmdText = "SELECT name FROM sqlite_master WHERE type='table' AND name=?"; 
       var cmd = this.CreateCommand(cmdText, typeof(DocumentType).Name); 
       var res = !string.IsNullOrEmpty(cmd.ExecuteScalar<string>()); 
       return res; 
      } 

} 

, в чем проблема?

ответ

0

В Xamarin Studio, в разделе «Настройки» -> Android, убедитесь, что у вас установлен флажок «Сохранять данные/кеш между приложениями». Аналогичная настройка в Visual Studio.

Смежные вопросы