Строка сохранения SQLite в Objective C - PullRequest
0 голосов
/ 14 июня 2011

Здравствуйте. Я пытаюсь сохранить строку в SQLite базе данных, но ничего не происходит.У меня есть строка:

"tret44404% 40ukr.net% 3A100001740940428% 3A06Kz8p1Xbk0PzpH% 2F% 3A0% 3Av_1% 2Cajax_1% 2Cwidth_320% 2Cpxr_116% * 2 * 2 * * 22ps * 6% 2 * 2ps26 * 22ps * 22ps * 22ps * 62ps26ps2Я пытаюсь сохранить его в базу данных, но сохраняю строку как:

"tret44404
80792kr.net-0X1.FD428P + 01000017409404280X1.B2C260000001P-100906Kz8p1Xbk0PzpH0.0000000P1000000P10000002X1.147-1040v_1 灠 ajax_1Ῐwidth_320 "

Способ сохранения строки:

- (void) addCookie {


    if(addStmt == nil) {
        const char *sql = "insert into FaceBookCookies(userId, created, domain, Expires, HttpOnly, Name, Path, Value) Values(?, ?, ?, ?, ?, ?, ?, ?)";
        if(sqlite3_prepare_v2(database, sql, -1, &addStmt, NULL) != SQLITE_OK)
            NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(database));
    }
    sqlite3_bind_int(addStmt, 1, userID);
    sqlite3_bind_int(addStmt, 2, created);
    sqlite3_bind_text(addStmt, 3, [domain UTF8String], -1, SQLITE_STATIC);
    sqlite3_bind_double(addStmt, 4, [Expires timeIntervalSince1970]);
    sqlite3_bind_text(addStmt, 5, [HttpOnly UTF8String], -1, SQLITE_STATIC);
    sqlite3_bind_text(addStmt, 6, [Name UTF8String], -1, SQLITE_STATIC);
    sqlite3_bind_text(addStmt, 7, [Path UTF8String], -1, SQLITE_STATIC);

    sqlite3_bind_text(addStmt, 8, [Value UTF8String], -1, SQLITE_STATIC); //here is a String...

    if(SQLITE_DONE != sqlite3_step(addStmt))
        NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
    else
        //SQLite provides a method to get the last primary key inserted by using sqlite3_last_insert_rowid
        userID = sqlite3_last_insert_rowid(database);

    //Reset the add statement.
    sqlite3_reset(addStmt);
}

Пожалуйста, помогите, как это исправить ...

1 Ответ

0 голосов
/ 14 июня 2011

Вероятно, вы должны удалить проценты перед сохранением. Сделай так,

sqlite3_bind_text(addStmt, 8, [[Value stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String], -1, SQLITE_STATIC);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...