Показать сообщение отдельно
  #10  
Старый 19.02.2017, 19:38
Rimma Zlotnikov Rimma Zlotnikov вне форума
Прохожий
 
Регистрация: 18.02.2017
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Можно было бы посоветовать для блока with DM.IBQuery2 do подготовить запрос предварительным разбором и оптимизацией типа
Код:
...
 Close;
 if not Prepared then Prepare;
 ...
но делфя и так автоматом подготавливает его при каждом выполнении SQL и поэтому, даже если так и делать, то приложению на это фиолетово, зато можно рекомендовать в конце блока добавить проверку на ашипки
Код:
try
   ExecSQL;
 except
   on e: EDataBaseError do  MessageDlg(e.Message, mtError, [mbOK], 0);
 end;

я сделала по совету:
Код:
with DM.IBQuery2 do
  BEGIN
      Close;
      SQL.Clear;
      SQL.Add('update calc set step = :step, criterion = :criterion,');
      SQL.Add(' x1optim = :x1optim, x2optim = :x2optim, foptim = :foptim ');
      SQL.Add('where calcnum = :calcnum');
      Params.ParamByName('calcnum').Value := CALCNUM;
      Params.ParamByName('step').Value := (itcount/2.0) -1;
      Params.ParamByName('criterion').Value := 1.8;
      Params.ParamByName('x1optim').Value := 21;  //áðàòü ïîñëåäíþþ èòåðàöèþ èç áàçû..
      Params.ParamByName('x2optim').Value := 21;      //áðàòü ïîñëåäíþþ èòåðàöèþ èç áàçû..
      Params.ParamByName('foptim').Value := 0.11 ;  //áðàòü ïîñëåäíþþ èòåðàöèþ èç áàçû..
      //ExecSQL;
      try
**      ExecSQL; //!!!!!!!!!!!!!!!!!!! illegal character in input file: ' ' ($A0)
*     except
*     **on e: EDataBaseError do* MessageDlg(e.Message, mtError, [mbOK], 0);
*end;
Как может возникать такая ошибка вообще!?!
Ответить с цитированием