|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Сравнить даты в БД
Доброго времени суток Уважаемые гуру Delphi.
Имеется база данных с набором стандартных полей № ФИО Дата рождения 1 Пупкин С А 15.03.1990 2 Пуcмик П В 10.08.1960 и т д Бада данных : Access + ADOQuery + DataSource ну и естественно отображаем данные в DBGrid Как сделать чтоб программа сравнивала дату поля Data (дата рожения) и текущия дату и выдавало сообщение если даты одинаковы то у человека например сегодня день рожения Что то типа: сегоня 15.03.2012 а у Пупкин С А 15.03.1990 др значит сегодня В общем реализовать напоминание о том что у человека день рождения. |
#2
|
|||
|
|||
На стороне прилодения:
Код:
if MonthOf(ADOQuery.FieldByName('BirthDate').AsDateTime) = MonthOf(Today) And DayOf(ADOQuery.FieldByName('BirthDate').AsDateTime) = DayOf(Today)Then Begin ... End; |
#3
|
|||
|
|||
Суть такова поле date оно в базе изначально текстовое
в базу заносится дата через DateTimePicker данные отображены в DBGrid Мне нужно сделать следующие например за 2-3 дня до дня рождения данные записывались например в DBGrid2 или еще куда нибудь чтоб был список именинников. тоесть сегодня 02.05.2012 у меня др 05.05.2012 вот чтоб зафтра 03.05.2012 моя программа показала что у меня др через 2 дня и и т д |
#4
|
|||
|
|||
что то типо такого только чтоб он перезаписовал данные в DBGrid2 если найдено что либо
VAR \y1,m1,d1,y2,m2,d2:word; begin ADOQuery1.First; DecodeDate(ADOQuery1.FieldByName('äàòà').AsDateTim e,y1,m1,d1); DecodeDate(Now,y2,m2,d2); Repeat \if (d1 = d2) and (m1 = m2) then ShowMessage('Обнаружен ДР') else ShowMessage('Др не найдено'); ADOQuery1.Next; Until not ADOQuery1.EOF; |
#5
|
|||
|
|||
Так INSERT запись в таблицу, связанную с DBGrid2, вообще можно написать хранимую процедуру и выполнять её при запуске программы. я так понимаю, что таблица именинников физически существует?
|