미리로드 된 SQLite db를 UWP 앱에 복사하려고합니다. 초기 설치시 "test.db"를 복사하지만 크기는 0 바이트이며 테이블이나 데이터가 없습니다. 원본 db는 데이터 및 테이블이있는 1300 바이트입니다.UWP PreLoaded SQLite
또 다른 사실 ... Visual Studio 2017을 사용하여 Visual Studio 2017을 사용하여 응용 프로그램을 컴파일하고 실행/디버깅하면 제대로 작동하지만 appx 파일을 사이드로드하거나 Windows 저장소에서 다운로드 할 때 db가 비어 있습니다.
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);
}
}
내가 오류 메시지를받지 못했습니다 : 여기
내가 사용하고있는 코드입니다.
필자는 머리 꼭대기에서 대답 할 수는 없지만 몇 가지 시도해보십시오. "databaseFile"을 할당 한 후 StorageFile 옵션 개체를 만들고 런타임 중에 중단 점을 사용하여 파일 크기를 확인하십시오. 0 또는 1300 바이트를 참조하십시오. 또한 LocalFolder에 복사하는 대신 LocalFolder에 하위 폴더를 만들고 거기에 복사 해보십시오. –
언제 CopyDatabase 메소드를 호출 했습니까? "App.xaml.cs"에서 "OnLaunched"처리기? –
공용 MainPage()에서 "CopyDatabase"를 호출합니다. 공용 MainPage() { gui = this; InitializeComponent(); 작업 작업 = CopyDatabase(); DataSetup(); CreateNewChartButton.Visibility = 가시성.접힌; SignInButton_Click (null, null); } –