URL не вставляется в базу данных SQLite3 - PullRequest
0 голосов
/ 18 сентября 2010

Я пытаюсь вставить URL-ссылки в базу данных SQLite3, но происходит сбой у кого-нибудь есть идеи ... у вас это происходит?

Если я статически пытаюсь вставить какой-либо URL-адрес, он работает, но динамически, когда я получаю URL-адреса веб-страниц, на которые перемещаются ... Пожалуйста, предложите мне, как заставить это работать. Я использую SDK 3.2

это моя функция вставки:

-(BOOL)insertImageToDB:(UIImage *)screenImage forURL:(NSString *)webURL
{
    BOOL retValue=NO;
    sqlite3 *database;
    sqlite3_stmt *insert_statement = nil;

    //NSString *localURL = webURL;

    NSString *localURL = @"https://www.google.com/";

    if (sqlite3_open([[self sqlitePath] UTF8String], &database)==SQLITE_OK)
    {
        const char *sql = "insert into Web_Image (Screen_Image, url) Values (?,?)";
        if (sqlite3_prepare_v2(database, sql, -1, &insert_statement, NULL) == SQLITE_OK) {

            NSData *data = UIImageJPEGRepresentation(screenImage, 0);
            if(data != nil)
            {
                sqlite3_bind_blob(insert_statement, 1, [data bytes], [data length], SQLITE_TRANSIENT);
            }
            else 
            {
                sqlite3_bind_blob(insert_statement, 1, nil, -1 , SQLITE_TRANSIENT);
            }
            sqlite3_bind_text(insert_statement, 2, [localURL UTF8String], -1, SQLITE_TRANSIENT);
            //sqlite3_bind_text(insert_statement, 2, [webURL UTF8String], -1, SQLITE_TRANSIENT);
            if(SQLITE_DONE == sqlite3_step(insert_statement)){
                retValue=YES;
            }
        }
        sqlite3_reset(insert_statement);
        sqlite3_finalize(insert_statement);
        sqlite3_close(database);
    }
    return retValue;
}   

где, screenImage: текущий снимок экрана веб-страницы. webURL: URL текущей веб-страницы.

1 Ответ

1 голос
/ 06 августа 2014

Для статического WebPageUrl

NSString *localURL = @"https://www.google.com/";
localURL =[localURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

Для динамического WebPageUrl

NSURL * url = Any web page url.....
NSString *localURL =[NSString stringWithFormat:@"%@",url];
localURL =[localURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

Теперь Вы можете вставить этот форматированный локальный URL в базу данных в виде строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...