我正在编写一个Xamarin
Android应用程序,并在尝试创建sqlite数据库时遇到错误.
这是我的代码:
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);
这是我得到的错误:
sqlite.sqliteException: Could not open database file: /data/data/com.xamarin.docs.android.mapsandlocationdemo2/files/CanFindLocation/CanFindLocation.db (CannotOpen)
我有相同的代码在另一个Xamarin应用程序中工作,并想知道该异常是否与包的名称有关?
提前致谢
解决方法
您提供给sqlite的路径文件夹路径是否存在?如果尚未创建CanFindLocation文件夹,则打开与该路径的连接将失败.
尝试:
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);