2011-04-08 7 views
6

Sé cómo crear una base de datos sqlite, insertar datos en ella, eliminar filas en ella, etc. a través del desarrollo de iPhone, pero estoy tratando de eliminar toda la base de datos por sí mismo mediante programación, pero sin obtener ninguna ayuda. Por favor, que alguien me guíe sobre cómo eliminar/eliminar toda la base de datos sqlite desde el dispositivo hasta el código.iPhone: ¿Eliminar/eliminar la base de datos SQLite?

Gracias!

Respuesta

0

Es el archivo de base de datos en su directorio de documentos y no en el paquete, puede utilizar NSFileManager para eliminar el archivo. Asegúrese de que no esté abierto por ningún progreso.

0

Si desea eliminar la base de datos completa, deberá ubicarla en el sistema de archivos y eliminarla allí.

16

Si su base de datos se encuentra en los documentos puede probar:

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]; 
} 
1

Trate

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); 

} 
1

Si está utilizando Xamarin en Visual Studio esto va a funcionar muy bien.

string _FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "databaseFileName.db3");  
File.Delete(_FileName); 
Cuestiones relacionadas