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

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

TpFibDataSet передать значение параметру


pk ©   (2011-09-15 12:56:00) 

Добрый день!

Помогите, пожалуйста, с решением такой задачи.

Есть компонент TpFibDataSet с запросом на Select в котором использую параметры:
SELECT
...
WHERE POLE IN (:POLE).

И есть массив Mas1 c двумя значениями 1 и 2.

Присваиваю параметру :POLE значения массива:
ParamByName('POLE').AsVariant:=Mas1;

И делаю Open.

Выдаёт ошибку:

First chance exception at $7C812AFB. Exception class EFIBInterBaseError with message 'frmMain.frmAnaliz.fibQuery.SelectQuery:
Incompatible column/host variable data type.
Dynamic SQL Error.
SQL error code = -303.
Arithmetic exception, numeric overflow, or string truncation.
'. Process Analysis.exe (2552)

Подскажите, как правильно параметру присвоить значения массива?


pk   (2011-09-15 14:37:00) [1]

Спасибо.


Медвежонок Пятачок   (2011-09-15 13:25:00) [2]

Передать-то можно, но переданное будет рассматриваться ином как единственное значение, а не список.


RWolf   (2011-09-15 13:21:00) [3]

проглядел IN в запросе.
никак нельзя.


RWolf   (2011-09-15 13:20:00) [4]

ParamByName('POLE').AsInteger:=Mas1;
?


Наверх

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