NULL в значении параметра ADOQuery
Если просто присвоить NULL этому параметру получаю ошибку
'Parameter object is improperly defined. Inconsistent or incomplete information was provided'
Как передать NULL в параметре ADOQuery?
Если просто присвоить NULL этому параметру получаю ошибку
'Parameter object is improperly defined. Inconsistent or incomplete information was provided'
проблема может быть в том, что по стандартам ANSI сравнивать значение NULL с помощью оператора = нельзя. Для этого используется IS NULL
проблема может быть в том, что по стандартам ANSI сравнивать значение NULL с помощью оператора = нельзя. Для этого используется IS NULL
Так я ж не сравниваю. Я пытаюсь просто передать в запрос, у которого в where написано, например,(:PARAM is null or FIELD1 = :PARAM), значение NULL для параметра :PARAM. И получаю ошибку.
Так я ж не сравниваю. Я пытаюсь просто передать в запрос, у которого в where написано, например,(: PARAM is null or FIELD1 = : PARAM), значение NULL для параметра : PARAM. И получаю ошибку.
Если верить сообщению об ошибке, то не все свойства параметра определены или определение содержит противоречивую информацию. ты пытался уже этому параметру присвоить "нормальное" значение?
мимоходом, какой вид имеет SQL выражение и оператор присваивания?
Я пытаюсь просто передать в запрос, у которого в where написано, например,(:PARAM is null or FIELD1 = :PARAM), значение NULL для параметра :PARAM. И получаю ошибку.
Скорее всего, дело в типизации параметров. Как правило, по типу присваиваемого значения компоненты могут самостоятельно определить тип параметра. Если же параметру присваивается NULL, автоматически тип определить невозможно. Попробуй задать тип параметра вручную.
Если верить сообщению об ошибке, то не все свойства параметра определены или определение содержит противоречивую информацию. ты пытался уже этому параметру присвоить "нормальное" значение?
мимоходом, какой вид имеет SQL выражение и оператор присваивания?
Нормальное значение присваивается отлично. Я потом этот параметр сравниваю со значениями поля типа int
Присваивание параметру значения происходит в Delphi следующим образом:
qReport.Parameters[0].Value := NULL
Скорее всего, дело в типизации параметров. Как правило, по типу присваиваемого значения компоненты могут самостоятельно определить тип параметра. Если же параметру присваивается NULL, автоматически тип определить невозможно. Попробуй задать тип параметра вручную.
Спасибо! Действительно, помогла установка типа параметра вручную. Буду знать теперь.