为了避免创建双 SQLite DB,如何检测是否已经有一个?
1) 下面的代码是在 App.xaml.cs 中创建 SQLite DB
2) App.xaml.cs 中的这段代码是创建 SQLite 数据库还是只创建表或两者?
3) 在 MainPage 中,如果创建了 SQLite DB,如何再检查一次。
问题:没有错误信息并且 MainPage 没有显示。
感谢您的帮助。谢谢
-- 在下面检查 App.xaml.cs 中的 rootFrame
if (rootFrame == null)
{
//-- 创建前检测
布尔结果 = 等待 GetIfFileExistsAsync(DBPath);
如果(结果 == 真)
{
MessageDialog mError = new MessageDialog("DB Created", "DB 创建状态");
等待 mError.ShowAsync();
返回;
}
别的
{
MessageDialog mError = new MessageDialog("未创建数据库", "未创建数据库");
等待 mError.ShowAsync();
创建DBNow();
}
//---- 根帧
}
私有异步任务 GetIfFileExistsAsync(string strDBPath)
{
尝试
{
var dbFile = 等待 Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync(strDBPath);
如果(dbFile!= null)
{
返回真;
}
别的
{
返回假;
}
}
捕获(FileNotFoundException)
{
返回假;
}
}
私有异步无效 CreateDBNow()
{
DBPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "customers.sqlite");
使用 (var db = new SQLite.SQLiteConnection(DBPath))
{
// 如果表不存在则创建表
db.CreateTable();
}
MessageDialog mError = new MessageDialog("DB now created", "DB created");
等待 mError.ShowAsync();
}
--- 在主页中
如果创建了 SQLite DB,我需要再检查一次。