Создание ограничений в ClientDataset Delphi Rio 10.3 - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь создать ограничение в своем клиентском наборе данных, чтобы проверить общее количество 4 числовых полей, если оно превышает максимальное значение.

Я обнаружил ограничения в свойствах ClientDataset и ищу некоторую документацию и учебные пособия в Интернете, нонашел несколько ссылок, которые не так полезны для начинающего, как я. Это не дает достаточно информации.

Может кто-нибудь здесь поделиться более подробной информацией об ограничениях набора клиентских данных?

Я уже создал TCheckConstraint ... тогда что дальше.

Цель состоит в том, чтобы проверить всего 4 числа столбцов / полей, если оно не превышает 24 часа.

ОБНОВЛЕНИЕ 1: Я нашел эту замечательную статью , но, похоже, мне нужно сначала ее переварить. Большинство его деталей для меня новые.

ОБНОВЛЕНИЕ 2: у меня есть поле fkcalculated, которое выполняет вычисление суммы. Все, что мне нужно, это проверить данные, прежде чем отправлять их в клиентский набор данных. Если оно находится в пределах ограничения, оно должно пройти. Если нет, то должно появиться сообщение и предотвратить публикацию данных.

ОБНОВЛЕНИЕ 3: Я пытался выполнить BeforePost, но он не срабатывает, когда он превышает 24 часа. Вот код:

procedure TdmPayroll.cdsMyTimesheetBeforePost(DataSet: TDataSet);
begin
  if dm.payroll.cdsMyTimesheet.FieldByName('TtlWorkedHours').AsDateTime > 24 then
  begin
    ShowMessage('You have entered time in excess of 24 hours. Please check your entries and try again');
  end;
end;

ОБНОВЛЕНИЕ 4: Обмен статьей, чтобы получить сумму времени для использования ограничения. Как суммировать с помощью Delphi

...