Форум: "Базы";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c