![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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