【发布时间】:2017-09-12 10:23:53
【问题描述】:
我正在开发一个通用 Windows 平台应用程序。我使用 Sqlite 作为我的本地数据库。当我在侧面加载我的应用程序并安装它时,我能够获得 Sqlite DB 结构但无法获得数据。 安装侧载应用程序后如何获取 sqlite 数据库和数据?
以下是我用于创建 Sqlite 的代码。
if (!File.Exists(Path.Combine(ApplicationData.Current.LocalFolder.Path, "TestDB.sqlite")))
{
var sqlpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, " TestDB.sqlite");
using (SQLiteConnection conn = new SQLiteConnection(new SQLitePlatformWinRT(), sqlpath))
{
conn.CreateTable<Test_TableName >();
}
}
根据其中一项建议,我修改了我的 sqlite 文件存储位置,如下所示
Package currentPackage = Package.Current;
StorageFolder AppstorageLocation = currentPackage.InstalledLocation;
if (!File.Exists(Path.Combine(AppstorageLocation.Path, "TestDB.sqlite")))
{
// Creates Tables While Creating DataBase
var sqlpath = Path.Combine(AppstorageLocation.Path, "TestDB.sqlite");
using (SQLiteConnection conn = new SQLiteConnection(new SQLitePlatformWinRT(), sqlpath))
{
conn.CreateTable<Test_TableName >();
}
}
但我在使用Package.Current.InstalledLocation.Path 创建 sqlite 文件时遇到了异常
由于使用Package.Current.InstalledLocation.Path 位置,我无法创建 Sqlite DB。
我该如何解决这个问题。我需要做任何其他修改吗?
【问题讨论】:
-
您想在侧加载应用程序后获取 sqlite 数据吗?如果有,可以把sqlite放到
Package.InstalledLocation目录下。 -
@JaydenGu-MSFT 是的,你是对的。我已经根据您的建议修改了我的问题。您能否检查我的问题并提供您的建议...
-
@JaydenGu-MSFT 我尝试将 sqlite 文件放在包位置的物理位置,以及侧面加载的文件夹仍然没有得到 sqlite 文件。
标签: c# sqlite xaml win-universal-app uwp-xaml