• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

связанные таблицы

  • Автор темы Experimentator
  • Дата начала
E

Experimentator

Всем привет!!!
Есть такая проблема есть связанные таблицы, в главной талице находится личные данные пользователей включая email , а во второй дата завершения складирования товара на разных складах, как мне проврить во всей табице, если у кого то заканчивается срок хранения то программа автоматом отправляла бы письмо на ящик указанный в таблице1!!! :) :) :) :facepalm:
 
V

V88

Сравнивай "Дату завершения" с текущей датой и все:
SELECT Table1.Email
FROM Table1 INNER JOIN Table2 ON Table1.Поле1=Table2.Поле1 //т.е пересечение таблиц
WHERE (Table2.Дата_завершения>=DATE)


А чтобы программы автоматически отправляла письмо, прикрепи эту проверку с какому-либо событию (напр., на создание формы или ее активацию)
 
V

V88

Если допустим надо предупредить пользователя заранее, то можно сделать так:

Код:
Query - это запрос объединяющий табл. Пользователи и Склад
QueryDatZavershenia - поле "Дата завершения"
QueryEmail- поле E-mail пользователя
N - это кол-во дней за сколько надо предупредить пользователя

.......
var
i,N:Integer;
dt:TDate;
begin
Query.First;
While not Query.eof do begin
i:=0;
dt:=QueryDatZavershenia.AsDateTime;
while dt<>Date do begin
dt:=dt+1;
i:=i+1;
end;

if i<=N then begin
//отправляем письмо на адрес QueryEmail.AsString и где i - это будет сколько дней осталось 
end;

QueryNext;
end;
.......
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!