ГДЕ И в Sqlite Заявлении - PullRequest
1 голос
/ 30 сентября 2011

У меня проблема с объединением двух операторов WHERE в следующий оператор SQL:

query = [[NSString alloc] initWithFormat: @"SELECT Name, Description,Postcode,AddressLine1, ImageURL, Free, Area, OpeningTimes, NearestTube, Cost,UniqueID, URL, Number, FirstLetter FROM MainDetails WHERE Free ='Y' AND FirstLetter = '%@%'",tmpLike];

Я хочу сказать, что Free равно Y, а FirstLetter равно tmplike, однако вышеприведенное не работает.

Может кто-нибудь помочь?

Ответы [ 5 ]

1 голос
/ 30 сентября 2011

Вы используете подстановочный знак, поэтому вы хотите LIKE не равенство (=);

... WHERE Free ='Y' AND FirstLetter LIKE '%@%'"
0 голосов
/ 30 сентября 2011

Может просто скобки?

... WHERE (Free ='Y') AND (FirstLetter LIKE '%@')",tmpLike];
0 голосов
/ 30 сентября 2011

используйте этот, он отлично работает

query = [[NSString alloc] initWithFormat: @"SELECT Name, Description,Postcode,AddressLine1, ImageURL, Free, Area, OpeningTimes, NearestTube, Cost,UniqueID, URL, Number, FirstLetter FROM MainDetails WHERE Free ='Y' AND FirstLetter LIKE '%@ %%'",tmpLike];
0 голосов
/ 30 сентября 2011

попробуй с escape-символом '/'

 query = [[NSString alloc] initWithFormat: @"SELECT Name, Description,Postcode,AddressLine1, ImageURL, Free, Area, OpeningTimes, NearestTube, Cost,UniqueID, URL, Number, FirstLetter FROM MainDetails WHERE Free ='Y' AND FirstLetter = '%@\%'",tmpLike];
0 голосов
/ 30 сентября 2011

ПОПРОБУЙТЕ ЭТО УДАЛИТЬ% ИЗ ПОСЛЕДНИХ

query = [[NSString alloc] initWithFormat: @"SELECT Name, Description,Postcode,AddressLine1, ImageURL, Free, Area, OpeningTimes, NearestTube, Cost,UniqueID, URL, Number, FirstLetter FROM MainDetails WHERE Free ='Y' AND FirstLetter = '%@'",tmpLike];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...