Ввод даты в базу данных через графический интерфейс для даты, доступной для чтения FMDatabase.

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

Я видел несколько подобных сообщений, в которых объясняется, как ввести NSDate в базу данных, чтобы его можно было прочитать:

  1. Проблема с датой SQLite в iPhone
  2. Сохранение дат в SQLite3 в приложении для iPhone

Теперь я хочу вводить даты в базу данных, выполняя такие запросы, как:

insert into VendorEvents (event_start, event_end, notes, event_name) values (date('2012-01-26'), date('2012-01-26'), 'Republic day of India is the day when our constitution was framed and put into practice', 'Republic day')

Когда я запускаю этот запрос через приложение MesaSQLite, возвращаемые результаты идеальны, как и ожидалось:

select * from VendorEvents where ((event_start between '2011-12-01 00:00:00 +0000' and '2012-02-01 00:00:00 +0000') or (event_end between '2011-12-01 00:00:00 +0000' and '2012-02-01 00:00:00 +0000'))

Но когда я запускаю тот же запрос через FMDatabase внутри приложения, записи не возвращаются.

Тип данных первого и второго поля в VendorEvents в моей базе данных имеет тип «Дата». Единственная разница в способе ввода данных - это использование приложения MesaSQLite. Итак, есть ли какая-нибудь ошибка, из-за которой я не получаю результаты в FMDatabase?

Спасибо, Радж


person Raj Pawan Gumdal    schedule 07.01.2012    source источник


Ответы (1)


Используйте функцию date(). Попробуй:

select * from VendorEvents 
where ((event_start between date('2011-12-01 00:00:00 +0000') and date('2012-02-01 00:00:00 +0000')) 
    or (event_end between date('2011-12-01 00:00:00 +0000') and date('2012-02-01 00:00:00 +0000')))
person zack    schedule 09.05.2012