Задача c создать динамический запрос для передачи в sqlite3_prepare_v2 - PullRequest
0 голосов
/ 01 июля 2011

Я должен создать запрос для передачи в sqlite3_prepare_v2.

Запрос должен быть динамическим и должен позволять мне извлекать все записи, которые хотя бы в одном поле содержат хотя бы один из поисковых фильтров.

Например: -поля f1, f2 -фильтры SF1, SF2

Мне нужно создать динамически: где f1 как «% SF1%» или f1 как «% sf2%» илиf2 как '% SF1%' или f2 как '% sf2%'

Можете ли вы показать код, который делает то, что я описал?

Заранее спасибо за ваш ответ.

1 Ответ

0 голосов
/ 05 июля 2011
selectStmt = nil;

NSString strParam1 = @"%SF1%";
NSString strParam2 = @"%SF2%";

const char *selectSql;

//prepare select statement
if(sqlite3_prepare_v2(database, sqlStatement, -1, &selectStmt, NULL) == SQLITE_OK)
{
//Bind your parameter
sqlite3_bind_text(selectStmt, 1, [strParam1 UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(selectStmt, 2, [strParam2 UTF8String], -1, SQLITE_TRANSIENT);

    while(sqlite3_step(selectStmt) == SQLITE_ROW) 
    {
      //Read your values from database
      NSString *f1Value = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStmt, 0)];
      NSString *f2Value = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStmt, 1)];

    }
}
...