В моем приложении мне нужно сохранить пользователя как локального, так и онлайн, но проблема возникает, когда я хочу вставить пользователя в его локальную базу данных (sqlite3).
Пользователь получает возможность выбрать символ, также имя пользователя, это передается через метод в мой объект dbhandler, как показано на рисунке.
-(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;
}
}
Когда код, который я выполнил, говорит: НЕТ УСПЕХА, однако я не получаю сообщение об ошибке, и в базу данных ничего не добавляется.
Ами, здесь что-то не так?