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

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

Null значения в поля таблицы [D5, D6, D7, dBase, FoxPro, ADO]


Aleksey V.P. ©   (2003-09-22 10:34:00) 

Есть таблица: ARCHIVE.dbf( ID : numeri( 8,0), DATE_CR : DATE, DOCNUM : character( 30)).

// INSERT sql запрос
_strTemp := "insert into ARCHIVE.dbf( ID, DATE_CR, DOCNUM) values( :ID, :DATE_CR, :DOCNUM)";

// Очищаем список параметров
ADOCommand1.Parameters.Clear;
// Определяем sql запрос
ADOCommand1.CommandText := WideString( _strTemp);
// Определяем параметры
ADOCommand1.Parameters.ParseSQL( _strTemp, TRUE);

// Присваиваем значения
// ID
ADOCommand1.Parameters.ParamByName( "ID").Value := _nSomeValue;
// DATE_CR
ADOCommand1.Parameters.ParamByName( "DATE_CR").Value := Null;
// DOCNUM
ADOCommand1.Parameters.ParamByName( "DOCNUM").Value := "Some Doc Number";

// Выполняем и вылетаем с ошибкой:
// Parameter object is improperly defined.Inconsistent incomplete information was provided.
ADOCommand1.Execute;

Вопрос заключается в слудующем: каким образом можно записать пустое значение в поле таблицы типа DATE, NUMERIC, CHARACTER???


ЮЮ   (2003-09-23 06:39:00) [1]

По-моему, ароблема в том, что при присвоении параметру значения NULL Parameter.DataType устанавливается в ftUnknown. Попробуй переопределить его как надо после присвоения NULL-евого значения


Aleksey V.P.   (2003-09-22 20:13:00) [2]

Нет, с обычными проблем нет вообще. Пишет всё ob. А вот как только говоришь параметру, что он есть Null (Variant), то при выполнении запроса Delphi ругается :(
По результатам экпирементов научился строки записывать пустыми, и то, параметру надо сказать, что он есть EmptyStr, скажешь, что он Null, то ругается. И ещё, для параметра типа строка, надо обязательно указать Size, хотя бы 1, иначе не прокатывает фишка :(


Johnmen   (2003-09-22 14:49:00) [3]

Проблемы с записью только Null значений ? А с не-Null все нормально ?
Есть подозрение, что и с обычными есть проблема...:)


Aleksey V.P.   (2003-09-22 14:07:00) [4]

В общем есть уже определённый insert запрос, некоторые параметры могут быть пустыми, но они присутствуют в sql запросе, так вот, что надо сделать, что бы sql запрос выполнился без ошибок(ну что б пустые значения записались)?


Johnmen   (2003-09-22 13:54:00) [5]

>Aleksey V.P. (22.09.03 13:50)

В чем твои проблемы ?


Aleksey V.P.   (2003-09-22 13:50:00) [6]

> Жук © (22.09.03 10:49) [1]
> ADOCommand1.Parameters.ParamByName( "DATE_CR").Clear
Ты сам то хоть понял, чего написал?


Жук   (2003-09-22 10:49:00) [7]

ADOCommand1.Parameters.ParamByName( "DATE_CR").Clear


Наверх

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