我有一个数据库,这是我的proyect文件localDB.db我想要更新一些表的信息,因为我的aplication的代码我使用的方法如下:
-(void)establecePerfil:(int)idPerfil{
while ([Utilidades consultaCargandoDatosDB]) {
[NSThread sleepForTimeInterval:1.0];
}
[Utilidades cargandoDatos:YES];
//perfil = [Perfil getInstance];
[self cargarBaseDeDatos];
NSLog(@"entre en establecer perfik");
sqlite3 *dataBase;
sqlite3_stmt *sentencia;
if(sqlite3_open([self.dataBasePath UTF8String], &dataBase)==SQLITE_OK){
NSLog(@"entre en establecer perfik 2");
NSString *sql = [NSString stringWithFormat:@"UPDATE perfiles SET \"seleccionado\"= 1, \"completado\"=0 WHERE \"id\"= %d", idPerfil];
if(sqlite3_prepare_v2(dataBase, [sql UTF8String], -1, &sentencia, NULL)==SQLITE_OK){
sqlite3_reset(sentencia);
if(sqlite3_step(sentencia)==SQLITE_OK){
NSLog(@"set profile OK");
}
else{
// NSAssert1(0, @"Error while selecting. '%s'", sqlite3_errmsg(dataBase));
NSLog( @"Save Error: %s", sqlite3_errmsg(dataBase) );
NSLog(@"%i", sqlite3_extended_errcode(dataBase));
NSLog(@"%i",sqlite3_errcode(dataBase));
}
}
sqlite3_finalize(sentencia);
}else{
NSLog(@"No se ha abierto la base de datos");
}
sqlite3_close(dataBase);
[Utilidades cargandoDatos:NO];
}
我想,我在sqlite3_step(sentencia)中遇到了问题,因为在else条件之后出现的代码错误是101引用SQLITE_DONE所以我不知道这意味着这个。