Добрый день
Сервер Firebird, UniDAC версии 6.0.1
Вот такой код не выдает ни какой ошибки
UniQuery1.SQL.Clear;
UniQuery1.SQL.Add('select * from customer where id = :idcustomer');
UniQuery1.Open;
Я проверил - свойство UniQuery1.ParamCheck = True;
C уважением, Мещеряков Вадим
TUniQuery не проверяет присвоены ли значения параметров
Re: TUniQuery не проверяет присвоены ли значения параметров
Данное поведение TUniQuery корректно. Свойство TUniQuery.ParamCheck не предназначено для проверки присвоения значений параметрам, оно отвечает за включение (отключение) автоматической генерации параметров при изменении свойства SQL. Более подробную информацию об этом свойстве Вы можете получить на нашем сайте: http://www.devart.com/unidac/docs/devar ... mcheck.htm
Re: TUniQuery не проверяет присвоены ли значения параметров
>Данное поведение TUniQuery корректно.
В других технологиях доступа к данным открытие запроса без присвоения значений параметров выдаст ошибку.
Есть возможность сгенерировать exсeption если параметр не присвоен?
В других технологиях доступа к данным открытие запроса без присвоения значений параметров выдаст ошибку.
Есть возможность сгенерировать exсeption если параметр не присвоен?
Re: TUniQuery не проверяет присвоены ли значения параметров
Вы можете использовать обработчик событий TUniQuery.BeforeExecute для генерации требуемого Exception, согласно приведенному ниже коду:
Код: Выделить всё
procedure TForm1.UniQuery1BeforeExecute(Sender: TObject);
begin
if UniQuery1.ParamByName('id').IsNull then
raise Exception.CreateFmt('Не задано значение параматра : ''%s''', [ UniQuery1.ParamByName('id').Name]);
end;
Re: TUniQuery не проверяет присвоены ли значения параметров
Обращайтесь к нам, если у Вас возникнут вопросы по UniDAC.