В базе данных sqlite3 у меня есть таблица «data» с двумя полями: тип и путь. Тип поля определяется как INTEGER. В этом поле я вставляю значение NSUInteger (например, 0 или 1). Проблема в том, что когда я получаю его, я получаю «странное» значение. Я не знаю, где я ошибаюсь.
if (init_statement == nil) {
const char *sql = "SELECT type,path FROM data WHERE id=?";
if (sqlite3_prepare_v2(database, sql, -1, &init_statement, NULL) != SQLITE_OK) {
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
}
sqlite3_bind_int(init_statement, 1, primaryKey);
if (sqlite3_step(init_statement) == SQLITE_ROW) {
int type = (int)sqlite3_column_text(init_statement, 0);
char *relPath = (char *)sqlite3_column_text(init_statement, 1);
// other stuff
}
// Reset the statement for future reuse.
sqlite3_reset(init_statement);