-
Подскажите, пожалуйста что я делаю не так. У меня IBDataSet1+DBGrid, CachedUpdates:=True Где-то внутри текста есть IBDatabase1.ApplyUpdates([IBDataSet1])
Я обрабатываю введенные пользователем записи и тут же его предупреждаю, если не удовлетворяет моим условиям, и отменяю добавление или исправление записи не удовлетворяющую условию
procedureIBDataSet1UpdateRecord(DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TIBUpdateAction); begin if (IBDataSet1.FieldByName('dat').NewValue>=Now()) then //если все правильно begin UpdateAction:=TIBUpdateAction(uaApply); end else //неправильно begin ShowMessage('Неверно введены данные'); UpdateAction:=TIBUpdateAction(uaAbort); IBDataSet1.RevertRecord; end end;
Неправильно работает ветвь else если происходит операция вставки, т.е. когда UpdateKind=ukInsert. Выдается мое сообщение 'Неверно введены данные', а затем вылазит ошибка 'IBDataSet1: Record not found'. Что можно с этим сделать?
|