我知道如何通过iPhone开发创建sqlite数据库、向其中插入数据、删除行等操作,但我想尝试通过编程方式完全删除数据库本身,但没有得到任何帮助。请有经验的人指导我如何通过代码从设备中删除/移除整个sqlite数据库。
谢谢!
谢谢!
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);
}
string _FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "databaseFileName.db3");
File.Delete(_FileName);
如果数据库文件在您的文档目录中而不是捆绑包中,则可以使用NSFileManager删除该文件。确保没有任何进程打开该文件。
如果你想删除整个数据库,你需要在文件系统中找到它并在那里删除。
BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use:
错误。 - Lal KrishnaBUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use
,你是怎么解决的? - Emma