Пункт FMDB и LIKE - PullRequest
       19

Пункт FMDB и LIKE

0 голосов
/ 27 января 2012

У меня проблемы с тем, как заставить оболочку FMDB для iOS работать с параметром и предложением LIKE.На самом деле у меня возникают проблемы с тем, чтобы предложение LIKE вообще работало на SQLite с FMDB.

Я пытался использовать `Name LIKE '% dam%' для сопоставления с" Adam ", и я попытался указать его в качестве параметра, как показано ниже, но ни один из них не работает.

    [buffer appendString:@" Name LIKE '%dam%' "]; // no results

    [buffer appendString:@" Name LIKE ? "];
    [params addObject:[NSString stringWithFormat:@"%%%@%%", args.name]]; // no results

    [buffer appendString:@" Name LIKE '%' ? '%' "];
    [params addObject:[NSString stringWithFormat:@"%%%@%%", args.name]]; // no results

В таблице определенно есть элементы, которые соответствуют критериям, я просто не понимаю, почему FMDB не возвращает их.

Ответы [ 2 ]

1 голос
/ 27 января 2012

Вы также можете попробовать использовать обычный запрос SQL для извлечения данных в FMResultset. Это работало нормально для меня.

Если вам нужно отфильтровать данные позже, используйте NSPredicate, который отлично работает.

NSP предикат документы

predicate =
[NSPredicate predicateWithFormat:@"authors.lastName CONTAINS %@", @"Mark" ];
filtered  = [bookshelf filteredArrayUsingPredicate:predicate];
0 голосов
/ 13 марта 2012

однажды тоже болела голова.попробуйте это

[buffer appendString:[NSString stringWithFormat:@" Name LIKE '%@dam%@' ",@"%",@"%"];
...