Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

NULL в значении параметра ADOQuery

8.1K
07 августа 2004 года
junk
4 / / 07.08.2004
Как передать NULL в параметре ADOQuery?
Если просто присвоить NULL этому параметру получаю ошибку
'Parameter object is improperly defined. Inconsistent or incomplete information was provided'
368
07 августа 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by junk
Как передать NULL в параметре ADOQuery?
Если просто присвоить NULL этому параметру получаю ошибку
'Parameter object is improperly defined. Inconsistent or incomplete information was provided'


проблема может быть в том, что по стандартам ANSI сравнивать значение NULL с помощью оператора = нельзя. Для этого используется IS NULL

8.1K
08 августа 2004 года
junk
4 / / 07.08.2004
Цитата:
Originally posted by rostyslav

проблема может быть в том, что по стандартам ANSI сравнивать значение NULL с помощью оператора = нельзя. Для этого используется IS NULL


Так я ж не сравниваю. Я пытаюсь просто передать в запрос, у которого в where написано, например,(:PARAM is null or FIELD1 = :PARAM), значение NULL для параметра :PARAM. И получаю ошибку.

368
08 августа 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by junk

Так я ж не сравниваю. Я пытаюсь просто передать в запрос, у которого в where написано, например,(: PARAM is null or FIELD1 = : PARAM), значение NULL для параметра : PARAM. И получаю ошибку.



Если верить сообщению об ошибке, то не все свойства параметра определены или определение содержит противоречивую информацию. ты пытался уже этому параметру присвоить "нормальное" значение?

мимоходом, какой вид имеет SQL выражение и оператор присваивания?

10
08 августа 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by junk
Я пытаюсь просто передать в запрос, у которого в where написано, например,(:PARAM is null or FIELD1 = :PARAM), значение NULL для параметра :PARAM. И получаю ошибку.


Скорее всего, дело в типизации параметров. Как правило, по типу присваиваемого значения компоненты могут самостоятельно определить тип параметра. Если же параметру присваивается NULL, автоматически тип определить невозможно. Попробуй задать тип параметра вручную.

8.1K
09 августа 2004 года
junk
4 / / 07.08.2004
Цитата:
Originally posted by rostyslav


Если верить сообщению об ошибке, то не все свойства параметра определены или определение содержит противоречивую информацию. ты пытался уже этому параметру присвоить "нормальное" значение?

мимоходом, какой вид имеет SQL выражение и оператор присваивания?



Нормальное значение присваивается отлично. Я потом этот параметр сравниваю со значениями поля типа int

Присваивание параметру значения происходит в Delphi следующим образом:
qReport.Parameters[0].Value := NULL

8.1K
09 августа 2004 года
junk
4 / / 07.08.2004
Цитата:
Originally posted by smartsoft

Скорее всего, дело в типизации параметров. Как правило, по типу присваиваемого значения компоненты могут самостоятельно определить тип параметра. Если же параметру присваивается NULL, автоматически тип определить невозможно. Попробуй задать тип параметра вручную.



Спасибо! Действительно, помогла установка типа параметра вручную. Буду знать теперь.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог