Tuve que buscar muchas publicaciones relacionadas con estos errores, pero aun así no puedo solucionar el problema. Aquí está mi código, ¿alguien puede ayudarme a ver qué está pasando?No Such Table error
- (void) copyDatabaseIfNeeded {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"SQL.sqlite"];
if (sqlite3_open([path UTF8String], &newDBconnection) == SQLITE_OK)
{
NSLog(@"Database opened successfully");
if(updateStmt == nil) {
NSString *updStmt = [NSString stringWithFormat: @"UPDATE Coffee SET CoffeeName = '500 Plus', Price = '1.40' Where CoffeeID= '3'"];
const char *mupdate_stmt = [updStmt UTF8String];
if(sqlite3_prepare_v2(newDBconnection, mupdate_stmt, -1, &updateStmt, NULL) != SQLITE_OK){
NSAssert1(0, @"Error while creating update statement. '%s'", sqlite3_errmsg(newDBconnection));
} else {
NSLog(@"Update successful");
}
}
if(SQLITE_DONE != sqlite3_step(updateStmt))
NSAssert1(0, @"Error while updating. '%s'", sqlite3_errmsg(newDBconnection));
else {
sqlite3_reset(updateStmt);
NSLog(@"Step successful");
}
}
else
{
NSLog(@"Error in opening database ");
}
}
Puedo encontrar la mesa de centro ejecutando el SQL "SELECT * FROM sqlite_master", y la base de datos se abre con éxito, justo cuando se trata de actualizar, el error ocurre – Sunny
@Sunny Si lo está comprobando con el navegador SQLite o comando- herramienta de línea, puede abrir un archivo diferente. Vierta 'ruta' en el registro y consulte' sqlite_master' con el mismo código justo antes de hacer 'UPDATE'. – hamstergene
bien .. está funcionando ahora :) muchas gracias – Sunny