我一直在使用SQLite来编写我正在编写的应用程序,当我创建一个类时,每次我使用!checkfileexists,它总是不正确的。我错过了使用命名空间或引用吗?这是代码:
public async Task<bool> onCreate(string databasePath)
{
try
{
if (!CheckFileExists(databasePath).Result)
{
using (databaseConnection = new SQLiteConnection(databasePath))
{
}
}
}
}
答案 0 :(得分:0)
函数CheckFileExists
位于System.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中编辑功能以获取音乐和图片文件夹。
希望这有帮助。
答案 1 :(得分:-1)
CheckFileExists
可以写为File.Exists使用System.IO. CheckFileExists
似乎不是我所知道的任何命名空间中的对象。您可能必须为CheckFileExists
创建任务并添加任何缺失的代码。