![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параметры хранимой процедуры [D6, IB6.x]
me2 © (2003-06-05 16:19:00)Имеется ХП с рядом параметров и временная таблица с данными. Некоторые поля в таблице могут быть NULL. ХП в качестве параметров принимает значения полей временной таблицы, например так:
DM.spInsertImMaterialItem.ParamByName("i_serial_num").AsString := DM.tblTempIn["serial_num"];
Так вот если поле "serial_num" имеет значние, то все ОК, а если оно NULL, то ошибка конвертивания вариантов.
Подскажите способ решения данной проблемы?
me2 (2003-06-05 16:43:00) [1]2 Johnmen © (05.06.03 16:23)
Прошу прощения, поторапился. Так работает. Спасибо.
Johnmen (2003-06-05 16:40:00) [2]>me2 (05.06.03 16:27)
Не может быть !
А какие компоненты доступа ?
KoluChi (2003-06-05 16:36:00) [3]DM.spInsertImMaterialItem.ParamByName("i_serial_num").Value := DM.tblTempIn["serial_num"];
или
DM.spInsertImMaterialItem.ParamByName("i_serial_num").AsString := VarToStr(DM.tblTempIn["serial_num"]);
Ann (2003-06-05 16:32:00) [4]Я бы так написала
DM.spInsertImMaterialItem.ParamByName("i_serial_num").clear;
Sandman25 (2003-06-05 16:31:00) [5]if DM.tblTempIn.FieldByName("serial_num").isNull then
DM.spInsertImMaterialItem.ParamByName("i_serial_num").Clear
else
DM.spInsertImMaterialItem.ParamByName(i_serial_num").AsString := DM.tblTempIn.FieldByName("serial_num").AsString
me2 (2003-06-05 16:27:00) [6]2 Johnmen © (05.06.03 16:23)
Это не помагает. В ...:= DM.tblTempIn.FieldByName("serial_num").AsString; тогда возникнет ошибка преобразования.
me2 (2003-06-05 16:24:00) [7]А если что-то при помощи Variants?
Johnmen (2003-06-05 16:23:00) [8]... := DM.tblTempIn.FieldByName("serial_num").AsString;
Sandman25 (2003-06-05 16:22:00) [9]if Field1.isNull then Field2.Clear
else Field2.asString := Field1.asString;