Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.19;
Скачать: CL | DM;

Вниз

IbQuery + OnUpdateRecord   Найти похожие ветки 

 
AlexeyMir   (2008-04-16 02:17) [0]

Подскажите, пожалуйста что я делаю не так.
У меня IbQuery+IBUpdateSQL+DBGrid, CachedUpdates:=True
Где-то внутри текста есть IBDatabase1.ApplyUpdates([Query2])

Я обрабатываю правильность введенных пользователем записей и тут же его предупреждаю о неправильности

procedure IbQuery2UpdateRecord(DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TIBUpdateAction)
begin
  if (Условие) then      //если все правильно
    begin
    IBUpdateSQL1.Apply(UpdateKind);  
    UpdateAction:=TIBUpdateAction(uaApply);
    end
  else                     //неправильно
   begin
    ShowMessage("Неверно введены данные");
    UpdateAction:=TIBUpdateAction(uaAbort);
    IbQuery2.RevertRecord;
  end
end;

Неправильно работает ветвь else если происходит операция вставки, т.е. когда UpdateKind=ukInsert.
Выдается мое сообщение "Неверно введены данные", а затем вылазит ошибка "IbQuery2: Record not found".
Что можно с этим сделать?


 
Германн ©   (2008-04-16 02:40) [1]


> Неправильно работает ветвь else если происходит операция
> вставки, т.е. когда UpdateKind=ukInsert.
> Выдается мое сообщение "Неверно введены данные", а затем
> вылазит ошибка "IbQuery2: Record not found".
> Что можно с этим сделать?
>

Try...except.
Самый верный способ.


 
AlexeyMir   (2008-04-16 02:57) [2]

Дело в том что (Условие) у меня следующее:
if (IbQuery2.FieldByName("dat").NewValue>=Now()) then ....    
поэтому мне нужно использовать OnUpdateRecord


 
Johnmen ©   (2008-04-16 09:00) [3]

Во-первых, забыть про IbQuery+IBUpdateSQL, как про атавизм. Использовать TIBDataSet.



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

Текущий архив: 2008.10.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
4-1197966725
Double_V
2007-12-18 11:32
2008.10.19
Переключение раскладки в Hook-e


15-1219820202
Denis__
2008-08-27 10:56
2008.10.19
МГУ ВМК Языки программирования


2-1221034421
BB7
2008-09-10 12:13
2008.10.19
Функция


2-1220965041
ReYo
2008-09-09 16:57
2008.10.19
Тип double


2-1221401730
Виталион
2008-09-14 18:15
2008.10.19
Запустить приложение и считать информацию