我知道如何创建sqlite数据库,插入数据到它,删除行等通过iPhone开发,但我想通过编程删除整个数据库本身,但没有得到任何帮助。请有人指导我如何从设备通过代码删除/删除整个sqlite数据库本身。iPhone:删除/删除SQLite数据库?
谢谢!
我知道如何创建sqlite数据库,插入数据到它,删除行等通过iPhone开发,但我想通过编程删除整个数据库本身,但没有得到任何帮助。请有人指导我如何从设备通过代码删除/删除整个sqlite数据库本身。iPhone:删除/删除SQLite数据库?
谢谢!
数据库文件在文档目录中,而不是在Bundle中,您可以使用NSFileManager删除文件。 确保任何进度都不会打开。
如果你想删除整个数据库,你必须在文件系统中找到它并在那里删除它。
如果你的数据库中的文档,你可以尝试:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"youdb.db"];
if([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
[[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
}
尝试
NSError *err;
NSFileManager *fm = [NSFileManager defaultManager];
err = nil;
NSString *deleteFileName = [NSString stringWithFormat:@"%@/FileName",[[NSBundle mainBundle] resourcePath]];
NSURL *url = [NSURL fileURLWithPath:deleteFileName];
[fm removeItemAtPath:[url path] error:&err];
if(err)
{
NSLog(@"File Manager: %@ %d %@", [err domain], [err code], [[err userInfo] description]);
}
else
{
NSLog(@"File %@ deleted.",fileName);
}
如果你使用Visual Studio中Xamarin这将很好地工作。
string _FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "databaseFileName.db3");
File.Delete(_FileName);