2015-10-12 74 views
0

我一直在使用SQLite編寫我正在編寫的應用程序,並且在創建類時,每次使用!checkfile存在時,它總是不正確。我是否錯過了使用命名空間或參考?下面的代碼:!在當前上下文中不存在checkfileexists SQLite-c#

public async Task<bool> onCreate(string databasePath) 
{ 
    try 
    { 
     if (!CheckFileExists(databasePath).Result) 
     { 
      using (databaseConnection = new SQLiteConnection(databasePath)) 
      { 

      } 
     } 
    } 
} 
+0

爲什麼不簡單地說:'if(CheckFileExists(databasePath))' –

回答

-1

CheckFileExists可以寫成使用System.IO. CheckFileExists似乎沒有在任何命名空間我所知道的一個對象File.Exists。您可能必須爲CheckFileExists創建任務並添加任何缺少的代碼。

0

功能CheckFileExistsSystem.Windows.Forms,因此在Windows Phone 8.1項目中無法實現。 System.IO.File.Exists方法也不可用。

您可以編寫自己的CheckFileExists功能。

public async Task<bool> onCreate(string databasePath) 
{ 
    try 
    { 
     if (!await CheckFileExists(databaseName)) 
     { 
      using (databaseConnection = new SQLiteConnection(databaseName)) 
      { 

      } 
     } 
    } 
} 


public static async System.Threading.Tasks.Task<bool> CheckFileExists(string filename) 
{ 
    bool exists = true; 
    try 
    { 
     Windows.Storage.StorageFile file = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync(filename); 
    } 
    catch (Exception) 
    { 
     exists = false; 
    } 
    return exists; 
} 

我不確定你想用這個做什麼,但是你的代碼表明你想要創建一個數據庫而不再使用它。

一些注意事項:

唯一的文件夾(和子文件夾),您可以自由訪問是Current Local Folder

如果您想使用任何其他目錄,您可以使用文件夾選取器或在Appmanifest中編輯獲取音樂和圖片文件夾的功能來獲得用戶的許可。

希望這會有所幫助。

相關問題