Ввод даты в базу данных через графический интерфейс для даты, которая читается FMDatabase - PullRequest
0 голосов
/ 07 января 2012

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

Я видел некоторые подобные сообщения, которые объясняюткак ввести 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?

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

1 Ответ

1 голос
/ 09 мая 2012

Используйте функцию 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')))
...