надеюсь, что у каждого дела идут хорошо:)
Я позаботился о получении месяца с даты, сохраненной в базе данных sqlite. Прежде всего, я хотел бы поблагодарить некоторых экспертов, которые руководили мнойдля правильной вставки даты в таблицу базы данных sqlite, т.е. в следующем формате:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
Я отобразил все данные, включая дату, на странице контроллера, например, на странице «Просмотр напоминания».
Теперь у меня есть контроллер представления, чтобы пользователь мог просматривать месяц, скажем, если пользователь выберет месяц «Январь» в представлении выбора, он перейдет к контроллеру просмотра, где я отображаю напоминания, соответствующие выбранному месяцу.
Ранее я был поражен тем, как получить доступ к строковому значению, выбранному в представлении средства выбора, чтобы мы могли использовать запрос:
"SELECT * FROM reminders WHERE Grp = '%@'",appDelegate.groupString
Где groupString объявлен в файле делегата приложения, ему присвоено значение в контроллере представления, гдеПредставление выбора присутствует и получило доступ к этой строке, используя вышеуказанный запрос в представлении дисплея
, которое было решением Iвыяснил здесь . Теперь я пытаюсь сделать то же самое для извлечения дат, то есть просто написать запрос следующим образом:
"SELECT * FROM reminders WHERE Date = '%@'",appDelegate.monthString
Не работает, потому что дата сохраняется в @ "гггг-мм-дд чч: мм: сс ". Так что я провел исследование по различным ссылкам, я экспериментировал следующими способами:
"SELECT * FROM reminders WHERE MONTH like 'January %'"
и т. д.
, но какЯ упомянул, что выбранная строка должна быть привязана к значению, поэтому используется:
MONTH like '%@',appDelegate.monthString
"SELECT * FROM reminders WHERE strftime('%m', Date) = '%@'",appDelegate.monthString
Пропущено до Дата sqlite типы данных и Эта ссылка
Ни один из них не работал
Как мы все знаем, у нас есть прямой запрос для получения всех напоминаний за определенный месяц:
"SELECT * FROM reminders WHERE Date BETWEEN '2012-01-01' AND '2012-01-31'"
Работает отлично, но мне нужно сослаться на Январь, Февраль, Март (выбран из вида выбора) и т. Д. В качестве справочной строки на сегодняшний день, я не знаю, как получитьчасть месяца от даты. Есть ли запрос для получения части месяца с даты, скажем 2012-01-01 как январь или какой-то другойдругие в этом конкретном контексте ....
Пожалуйста, помогите мне, спасибо всем заранее:)
РЕДАКТИРОВАТЬ:
Я изменил формат отображения в месяц только послепо дате, т.е.:
ReminderClass *remin = [[ReminderClass alloc]init];
remin.Date = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 3)]autorelease];
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc]init]autorelease];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:remin.Date];
[dateFormat setDateFormat:@"MMMM dd"];
NSString *dateVal = [dateFormat stringFromDate:date];
remin.Date = dateVal;
Но прежде чем мы это сделаем, нам нужно написать sql-запрос для получения данных, то есть:
sqlQuery = [NSString stringWithFormat:@"select * from reminders WHERE ????",appDelegate.monthString];
Вопросительный знак - то, что мне нужно, спасибо один разеще раз:)