Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как передать в IB через SQLQuery параметр NULL [D6, IB6.x]


AlexLumpov ©   (2002-10-28 23:19:00) 

Уважаемые мастера!
Проблема следующая. Нужно выполнять изменение данных в таблице
TSQLQuery1.SQL = "
UPDATE ORDERS
SET DATE_FIELD = :DATE_FIELD,
CODE = :CODE,
VALID_UPTO = :VALID_UPTO,
PAYS_LEFT = :PAYS_LEFT,
ATTEMPTS = :ATTEMPTS,
STATE = :STATE
WHERE ORDER_ID = :ORDER_ID"
но проблема в том что поле ATTEMPTS может быть NULL,
в этом случае дельфи ругается "No value for parametr "ATTEMPTS"".

Два компонента делать не хочется.
Что посоветуете ???


AlexLumpov   (2002-10-29 13:18:00) [1]

Ну как говорится "Всем спасибо - все свободны"
Разобрался я в чем тут фишка. (пришлось в исходники залезть)
Если значение не присвоено то Delphi не может понять какого типа параметр, от того и ругается.
Если указать явно тип параметра (в даннм случае ftInteger) то все прекрасно работает.


Советчик   (2002-10-29 12:49:00) [2]

может быть и можно, но тут я тебе не советчик...


AlexLumpov   (2002-10-29 12:47:00) [3]

to Советчик
ОК спасибо за инфрмацию. Щас поисследую.

А что в dbExpress никак? Просто меня сроки поджимают а переводить все на другие компоненты не так то быстро. Все остальное в dbExpress меня устраивает (пока что). Может быть можно что то сделать с ними?


Советчик   (2002-10-29 12:44:00) [4]

ну под линуксом есть FIBPlus


AlexLumpov   (2002-10-29 12:41:00) [5]

а скорее всего проге придется под линуксом крутиться


AlexLumpov   (2002-10-29 12:40:00) [6]

to Johnmen

к сожалению нету у меня IBX под Linux


AlexLumpov   (2002-10-29 12:38:00) [7]

to Советчик
Ну там же указано TSQLQuery

to Alexandr
а метода asVariant я там вообще не нашел


Johnmen   (2002-10-29 12:38:00) [8]

Компоненьы, ясное дело, из dbExpress, вот только ЗАЧЕМ именно они ???!!! Неужели они лучше "родных" IBX...


Советчик   (2002-10-29 12:32:00) [9]

Я вмешаюсь ничего?
при каком?
Alexandr же 2 варианта привел...
А хотя я наверное понял!
Это у тебя кривые компоненты доступа. Через что работаешь-то?


AlexLumpov   (2002-10-29 12:26:00) [10]

to Alexandr
Вот именно при таком и пишет "No value for parametr "ATTEMPTS"".



Alexandr   (2002-10-29 07:13:00) [11]

ParamByName("ATTEMPTS").Clear
или
ParamByName("ATTEMPTS").AsVariant:=null


Наверх

Титульная страница Поиск, карта сайта Написать письмо