Синтаксис: присвоить значение свойства метода команде sql - PullRequest
1 голос
/ 13 октября 2011

У меня есть метод:

-(NSMutableArray*)getTheCountriesEurope:(int)continentID
{
NSMutableArray* euCountriesArray=[[[NSMutableArray alloc]init]autorelease];
const char* sqlContinents="SELECT countries.countryID,countries.countryName\
FROM countries\
WHERE countries.relativeToContinentID=?";

Как я могу назначить команде sql мое (int) continentID свойство? Я имею в виду заявление

WHERE countries.relativeToContinentID=?";

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 13 октября 2011

«Правильный» способ - использовать sqlite3_prepare_v2 () для компиляции вашего оператора SQL, а затем использовать sqlite3_bind_int () , чтобы связать параметр int с оператором.Это лучше, чем помещать int в строку запроса SQL, потому что

  1. оператор может быть повторно использован с другими параметрами int
  2. Использование prepare / bind предотвращает любую вероятность SQLинъекционная атака .Хотя это не является проблемой для параметров int, это является головной болью для строк, и вы могли бы сделать все то же самое.
1 голос
/ 13 октября 2011

попробуйте это:

formattedString = [NSString stringWithFormat:
    @"SELECT countries.countryID,countries.countryName\
    FROM countries\
    WHERE countries.relativeToContinentID=%i"
    ,continentID];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...