Ich versuche eine vorgeladene SQLite db in meine UWP App zu kopieren. Bei der Erstinstallation wird "test.db" kopiert, aber die Größe beträgt 0 Bytes und es gibt keine Tabellen oder Daten. Die ursprüngliche db ist 1300 Bytes mit Daten und Tabellen.UWP PreLoaded SQLite
Ein weiterer Faktor ... wenn ich die App erstellen Mit Visual Studio 2017 und Kompilieren und Ausführen/Debuggen der App funktioniert es gut, aber wenn ich die Appx-Datei sideload oder Download aus dem Windows Store ist die Datenbank leer. Hier
ist der Code, den ich verwende:
Task task = CopyDatabase();
private async Task CopyDatabase()
{
bool isDatabaseExisting = false;
try
{
StorageFile storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync("Express.db");
isDatabaseExisting = true;
}
catch
{
isDatabaseExisting = false;
}
if (!isDatabaseExisting)
{
StorageFile databaseFile = await Package.Current.InstalledLocation.GetFileAsync("Express.db");
await databaseFile.CopyAsync(ApplicationData.Current.LocalFolder, "Express.db", NameCollisionOption.ReplaceExisting);
}
}
ich keine Fehlermeldungen bekommen.
Ich kann nicht von oben antworten, aber einige Dinge zu versuchen: Nach dem Zuweisen von "databaseFile" erstellen Sie ein StorageFile -Optionsobjekt und überprüfen Sie die Dateigröße während der Laufzeit mit einem Haltepunkt. Sehen Sie, es ist 0 oder 1300 Bytes. Erstellen Sie auch einen Unterordner in LocalFolder und kopieren Sie ihn dort, anstatt ihn in den LocalFolder zu kopieren. –
Wann haben Sie die 'CopyDatabase' Methode aufgerufen? In "App.xaml.cs" 'OnLaunched'-Handler? –
Ich rufe "CopyDatabase" in öffentlichen MainPage() public MainPage() { gui = this; InitializeComponent(); Aufgabe task = CopyDatabase(); DataSetup(); CreateNewChartButton.Visibility = Sichtbarkeit.Zusammengebrochen; SignInButton_Click (null, null); } –