Форум: "Базы";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
ВнизПытаюсь сравнить дату из базы с системной и выдать сообщение. Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c