Я делаю запрос на мой FMDB, который выглядит, как этотFMDB SQL-запрос не возвращает никаких данных
long long lstartDate = 1467331200000;
long long lendDate = 1468108800000;
[_queue inDatabase:^(FMDatabase *database) {
FMResultSet * result = [database executeQuery:@"SELECT * FROM dayEPOCTable WHERE date >= '?' AND date <= '?' ", lstartDate, lendDate];
Однако, когда запрос закончил у меня нет каких-либо предметов, доступных в результате.
LendDate & lstartDate оба имеют жестко закодированные значения, которые существуют в таблице, я перешел на Устройства, загрузил контейнер, чтобы проверить, чтобы эти значения отображались на SQL-db.
То, что я пытаюсь сделать, - это вернуть все строки между и включать lstartDate и lendDate, которые находятся в таблице.
ОБНОВЛЕНИЕ: Отличное долгое время для NSNumber. обновленный код выглядит следующим образом
NSNumber *lstartDate = [NSNumber numberWithLongLong:1467331200000];
NSNumber *lendDate = [NSNumber numberWithLongLong:1468108800000];
[_queue inDatabase:^(FMDatabase *database) {
FMResultSet * result = [database executeQuery:@"SELECT * FROM dayEPOCTable WHERE date >= '?' AND date <= '?' ", lstartDate, lendDate];
Я пробовал следующее, и запрос сработает, прежде чем я могу зарегистрировать ошибку. Он переводит меня в строку 817 FMDB: obj = va_arg (args, id); Этот вопрос исчезает, когда я использую '?' поэтому я не уверен, что делать здесь. – HurkNburkS
Также, если это помогает, дата хранится как BIGINT в таблице – HurkNburkS
Извините, я не заметил, что они были длинными. Вы должны обернуть их в 'NSNumber' (например, используя синтаксис' @ (...) 'для' NSNumber', если хотите, как и в моем пересмотренном ответе). Эта вариационная версия ожидает, что все параметры будут объектами, но 'long long' является фундаментальным типом данных. – Rob