2014-09-17 7 views
6

Sto codificando un'applicazione Xamarin Android e ricevo un errore quando provo a creare un database SQLite.SQLite - Impossibile aprire il file di database

Ecco il mio codice:

string applicationFolderPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "CanFindLocation"); 
string databaseFileName = System.IO.Path.Combine(applicationFolderPath, "CanFindLocation.db"); 
SQLite.SQLite3.Config(SQLite.SQLite3.ConfigOption.Serialized); 
var db = new SQLiteConnection (databaseFileName); 

Qui è l'errore che sto ottenendo:

SQLite.SQLiteException: Could not open database file: /data/data/com.xamarin.docs.android.mapsandlocationdemo2/files/CanFindLocation/CanFindLocation.db (CannotOpen) 

Ho lo stesso codice di lavoro in un'altra applicazione Xamarin e vorrebbe sapere se l'eccezione ha qualcosa a che fare con il nome del pacchetto?

+0

clicca il database visibile in alto a destra del menu Sql lite Browser selezionarlo –

+0

non mostra il database aggiungere eclisse/dropins cartella aggiungere com.questoid.sqlitebrowser_1.2.0 questo file .jar riavviare il progetto. –

risposta

10

Does il percorso della cartella percorso che si sta fornendo a SQLite esistono

Grazie in anticipo? Se la cartella CanFindLocation non è stata creata, l'apertura di una connessione a tale percorso avrà esito negativo.

Prova:

string applicationFolderPath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "CanFindLocation"); 

// Create the folder path. 
System.IO.Directory.CreateDirectory(applicationFolderPath); 

string databaseFileName = System.IO.Path.Combine(applicationFolderPath, "CanFindLocation.db"); 
SQLite.SQLite3.Config(SQLite.SQLite3.ConfigOption.Serialized); 
var db = new SQLiteConnection (databaseFileName); 
+1

Grazie, vorrei poter passare più volte, ho impiegato ore per trovare questo post! – user230910