Вниз
Скачать: CL | DM;

Пытаюсь сравнить дату из базы с системной и выдать сообщение.   Найти похожие ветки 

← →
vich   (2002-07-25 02:28) [0]

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


← →
ЮЮ   (2002-07-25 05:03) [1]

Одни повествовательные предложения.
Вопрос то в чём? Или в чём проблема?


← →
vich   (2002-07-25 23:56) [2]

Как сделать, что бы программа находила в базе данных дату рождения и выдавала сообщение?


← →
ЮЮ   (2002-07-26 03:09) [3]

Чтобы программа находила в базе данных дату рождения и выдавала сообщение необходимо:
1. Уметь писать программы

"Смотрим на календарь"
2. DecodeDate(Now(),Year, Month, Day);


3. Найти записи в БД

Query.SQL.Text=
"SELECT * from SomeTable
where EXTRACT(DAY FROM BirthDay)=:DD
and EXTRACT(MONTH FROM BirthDay)=:MM";

4.Подставляем параметры
Query1.Params[0].Value:=Day;
Query1.Params[1].Value:=Month;
Query1.Open;
if Query1.RecordCount>0 then Application.MessgeBox(...);

5. Найденные записи отображаем в DBGrid-е



← →
vich   (2002-07-26 14:30) [4]

Спасибо за подсказку.
1. Пытаюсь писать самостоятельно, но с этим пока проблемы, так как новичок.




← →
vich   (2002-07-27 00:32) [5]

>>3. Найти записи в БД
Не могу разобраться, так как не силен.
Подскажите, я должен создать базу в которой только BirthDay, в которой только месяц и день?
И где писать это:
Query.SQL.Text=
"SELECT * from SomeTable
where EXTRACT(DAY FROM BirthDay)=:DD
and EXTRACT(MONTH FROM BirthDay)=:MM" ?


← →
TiredDmitry ©   (2002-07-27 01:12) [6]

Кажется, можно и проще, через LookUp, правда, он ищет только строгое соответствие.


← →
vich   (2002-07-27 01:43) [7]

>>Кажется, можно и проще, через LookUp
Как, если не секрет?


← →
NNH ©   (2002-07-27 11:46) [8]

У тебя должна быть написана маленькая прога, которая запускается при загрузке системы. При загрузке должно появиться окно (форма) в которой ты сам или программно в виде параметра для запроса будет передаваться системная дата. Или без запроса будет осуществлен поиск в таблице. В таблицу можешь вносить все что хочешь: дату, имя и т.д.
Например, процедура может вsглядеть так:
if Tabl_my.Locate("Data_roj",Edit1.Text,[loCaseInsensitive,loPartialKey]) then
Application.MessageBox("Есть именинник!",
"Информация",mb_IconInformation+mb_Ok)
else
Application.MessageBox("День прошел зря, именинников нет!",
"Информация",mb_IconInformation+mb_Ok);


← →
vich   (2002-07-27 15:34) [9]

>> if Tabl_my.Locate("Data_roj",Edit1.Text,[loCaseInsensitive,loPartialKey]) then

Попробую применить.


← →
ЮЮ   (2002-07-29 03:47) [10]

>Подскажите, я должен создать базу в которой только BirthDay, в которой только месяц и день?

BirthDay - поле типа DateTime (Date), отсюда и EXTRACT(DAY FROM BirthDay) - функция извлечения дня из даты

>И где писать это:
Query.SQL.Text=
"SELECT * from SomeTable
where EXTRACT(DAY FROM BirthDay)=:DD
and EXTRACT(MONTH FROM BirthDay)=:MM" ?

В свойсве SQL компонента TQuery

>>Tabl_my.Locate("Data_roj",Edit1.Text,[loCaseInsensitive,loPartialKey]) then ...
Трудно представить, что такое loPartialKey для поля типа Дата и как указывать при этом в Edit1.Text




← →
Locky 2   (2002-07-29 11:04) [11]

А не проще для новичка будет создать в базе данных отдельные поля: Brith_Day, Brith_Month, Brith_Year. И изгалятся с ними по полной программе. (Честно говоря не помню, что бы во встроенном SQL была функция EXTRACT)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
1-60732
Aleksandr
2002-08-06 15:22
2002.08.19
Делфя вдруг стала регистрацию просить!


4-60898
whc
2002-06-14 19:13
2002.08.19
Вставка контролов в ячейки StringGrid


1-60720
Ащкь
2002-08-06 22:47
2002.08.19
TTimer


1-60670
anod
2002-08-06 01:09
2002.08.19
Как удалить


8-60762
Aaz
2002-04-15 08:24
2002.08.19
LoadFromClipboardFormat




   Наверх