Dans mon application, je dois enregistrer l'utilisateur local et en ligne, mais le problème survient lorsque je veux insérer l'utilisateur dans sa base de données locale (sqlite3).Insertion dans la base de données sqlite3
L'utilisateur peut sélectionner un caractère, également un nom d'utilisateur, ceci est soumis à une méthode sur mon objet dbhandler, comme indiqué.
-(BOOL) registerUser : (NSString *) username : (int) character {
sqlite3 *db;
if(sqlite3_open([dbpath UTF8String], &db) == SQLITE_OK)
{
NSString *formatetStmt = [NSString stringWithFormat:@"INSERT INTO user VALUES (null, '%@', %d, 0, 1, 5, 1, 1, 1, 1, 1 ,1)", username, character];
sqlite3_stmt *comstmt;
if(sqlite3_prepare_v2(db, [formatetStmt UTF8String], -1, &comstmt, NULL) == SQLITE_OK)
{
sqlite3_finalize(comstmt);
if(sqlite3_step(comstmt) == SQLITE_DONE) {
NSLog(@"SUCCESS");
sqlite3_finalize(comstmt);
return YES;
}
else {
NSLog(@"NO SUCCES");
return NO;
}
sqlite3_reset(comstmt);
}
}
NSAssert1(0, @"addMyObjectIntoDatabase: failed to prepare statement with err '%s'", sqlite3_errmsg(db));
NSLog(@"FAIL");
sqlite3_close(db);
return NO;
}
}
Lorsque le code I exécuté, il dit sans succès, mais je ne reçois pas d'une erreur, et rien est ajouté à la db.
Ami fait quelque chose de mal ici?
Vous obtenez une erreur à la suite de 'sqlite3_step' mais vous ignorez parce que vous vérifiez que pour' SQLITE_DONE' – Joe
Alors je l'ai ajouté à l'autre, et je suis maintenant obtenir une erreur = 'pas une erreur' Des suggestions? – MartinElvar