我有一个非常奇怪的案例在android平台上使用sqlite-pcl ...我有一个数据库类,它继承自SQLiteConnection,我使用个人文件夹为我的数据库,在构造函数中我有一个检查存在,但经常当我再次启动应用程序而不删除任何文件时,它返回false ...
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 :(得分:0)
在Xamarin Studio中,在“首选项”下 - &gt; Android,请确保已选中“在应用程序部署之间保留数据/缓存”。 Visual Studio中有类似的设置。