2016-09-21 2 views
0

Я пытаюсь написать SQL-запрос для FMDB, который у меня есть в моем проекте Objective C.Выберите строку, если дата Колонка находится между датой начала и окончания. Запрос FMDB

Моя таблица состоит из id, num_of_items, startDate, endDate.

Мой запрос выглядит следующим образом

FMResultSet * result = [database executeQuery:@"SELECT * FROM mytablename WHERE date BETWEEN ? AND ? ", lstartDate, lendDate]; 

однако, когда этот код работает я получаю следующее сообщение об ошибке после того, как приложение падает

[1210:2007096] DB Error: 1 "near "TRUNCATE": syntax error" 
[1210:2007096] DB Query: TRUNCATE mytablename 

Дата столбец содержит длинные значения, я проверил как lstartDate и lendDate, оба из которых находятся в таблице базы данных в этом столбце.

В результате я получаю, что все значения между датой начала и окончания включаются в выход.

+0

Я бы предположил, что это не та строка, в которой вы показываете нам, что генерирует эту ошибку. Найдите запрос, содержащий команду 'TRUNCATE' sql – RiggsFolly

ответ

1

Попробуйте поставить одну цитату «с каждой стороны». Например:

FMResultSet * result = [database executeQuery:@"SELECT * FROM mytablename WHERE date BETWEEN '?' AND '?' ", lstartDate, lendDate]; 
+0

Это сработало! спасибо – HurkNburkS

+0

Майк, просто вопрос о том, что вы можете помочь, Моя доза запроса не возвращает никаких значений, однако как дата начала, так и дата окончания отображаются в столбце даты. почему бы не вернуть дату? – HurkNburkS

+0

Я немного смущен, почему у вас есть начальные и конечные даты в самой таблице, наверняка у вас будет только дата в таблице, а затем выполнение запросов в эту дату. Запрос, который вы выполняете, ищет столбец с именем «дата» и возвращает строки, где «дата» находится между указанными датами. Я не поймал, что в первый раз, когда я только посмотрел на ваш синтаксис. – Mike