Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.006 c
15-1220003252
data
2008-08-29 13:47
2008.10.19
Вопрос к знатокам оракла. Есть ли ограничение на кол-во действий


2-1221034964
Demo_nik
2008-09-10 12:22
2008.10.19
Растолкуйте как работает код


2-1220944122
K12
2008-09-09 11:08
2008.10.19
Запрос


15-1219920689
Tricky
2008-08-28 14:51
2008.10.19
Todo List не работает в D7


2-1221222546
savyhinst
2008-09-12 16:29
2008.10.19
Про DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский