TUniQuery не проверяет присвоены ли значения параметров

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
VadimMest
Сообщения: 17
Зарегистрирован: Чт 13 ноя 2014 17:43

TUniQuery не проверяет присвоены ли значения параметров

Сообщение VadimMest » Пт 23 янв 2015 16:58

Добрый день
Сервер Firebird, UniDAC версии 6.0.1
Вот такой код не выдает ни какой ошибки

UniQuery1.SQL.Clear;
UniQuery1.SQL.Add('select * from customer where id = :idcustomer');
UniQuery1.Open;

Я проверил - свойство UniQuery1.ParamCheck = True;


C уважением, Мещеряков Вадим

ViktorV
Devart Team
Сообщения: 212
Зарегистрирован: Чт 31 июл 2014 09:52

Re: TUniQuery не проверяет присвоены ли значения параметров

Сообщение ViktorV » Пн 26 янв 2015 07:24

Данное поведение TUniQuery корректно. Свойство TUniQuery.ParamCheck не предназначено для проверки присвоения значений параметрам, оно отвечает за включение (отключение) автоматической генерации параметров при изменении свойства SQL. Более подробную информацию об этом свойстве Вы можете получить на нашем сайте: http://www.devart.com/unidac/docs/devar ... mcheck.htm

VadimMest
Сообщения: 17
Зарегистрирован: Чт 13 ноя 2014 17:43

Re: TUniQuery не проверяет присвоены ли значения параметров

Сообщение VadimMest » Пн 26 янв 2015 09:46

>Данное поведение TUniQuery корректно.

В других технологиях доступа к данным открытие запроса без присвоения значений параметров выдаст ошибку.
Есть возможность сгенерировать exсeption если параметр не присвоен?

ViktorV
Devart Team
Сообщения: 212
Зарегистрирован: Чт 31 июл 2014 09:52

Re: TUniQuery не проверяет присвоены ли значения параметров

Сообщение ViktorV » Пн 26 янв 2015 13:05

Вы можете использовать обработчик событий TUniQuery.BeforeExecute для генерации требуемого Exception, согласно приведенному ниже коду:

Код: Выделить всё

procedure TForm1.UniQuery1BeforeExecute(Sender: TObject);
begin
  if UniQuery1.ParamByName('id').IsNull then
    raise  Exception.CreateFmt('Не задано значение параматра : ''%s''', [ UniQuery1.ParamByName('id').Name]);
end;


ViktorV
Devart Team
Сообщения: 212
Зарегистрирован: Чт 31 июл 2014 09:52

Re: TUniQuery не проверяет присвоены ли значения параметров

Сообщение ViktorV » Пн 26 янв 2015 14:00

Обращайтесь к нам, если у Вас возникнут вопросы по UniDAC.

Закрыто