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

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

Подскажите, как вставить в колонку NULL значение в событии


Layner ©   (2004-12-15 09:43:00) 

BeforePost? т.е. определяю, что надо вставить NULL значение, пишу

procedure Tform1.q1BeforePost(DataSet: TDataSet);
begin
  q1f1:=nil; //одно поле таблицы, где нужно вставить NULL
  q1f2:=nil; //второе
  q1f3:=nil; //третье
end;


Этот вариант ошибку не выдает, но и таблицу никак не трогает, т.е. если там были записи, они просто не "затрутся" NULL. Т.е. что нужно вписат вместо nil, чтобы в эти 3 столбца вставить NULL значение. Заранее благодарен.


DenK_vrtz   (2004-12-15 11:01:00) [1]

>Val (Alexandria)   (15.12.04 10:57) [13]

Согласен на 100%. Возражений нет! :)


Val (Alexandria)   (2004-12-15 10:57:00) [2]

DenK_vrtz ©   (15.12.04 10:51) [12]
Не стоит так поступать - например, в доке по тому же ораклу, разработчики предупреждают, что, вполне возможно, в дальнейшем это будут две разные вещи...
Честно говоря, я, как писатель на паскале, и в оракле стараюсь придерживаться строгой типизации, чего всем желаю :)


DenK_vrtz   (2004-12-15 10:51:00) [3]

>Johnmen ©   (15.12.04 10:44) [11]
Если коротко
При таком присваивании и выполнении вышеуказанного запроса, запрос выдает что поле is null в БД Paradox, ORACLE - работа через BDE и БД ORACLE - компоненты DOA


Johnmen   (2004-12-15 10:44:00) [4]

>DenK_vrtz ©   (15.12.04 10:30) [9]
>С самого начала ветки ждал такого вопроса!

Дождался :) Теперь отвечай !
Действительно интересно, какую БД и комп.дост. ты имел в виду...


Layner   (2004-12-15 10:41:00) [5]

Разобрался, а БД писал выше [5], компаненты ADO.


DenK_vrtz   (2004-12-15 10:30:00) [6]

>Johnmen ©   (15.12.04 10:28) [8]

:)

С самого начала ветки ждал такого вопроса!


Johnmen   (2004-12-15 10:28:00) [7]

>DenK_vrtz ©   (15.12.04 10:19) [7]

О какой БД и компонентах доступа речь ?


DenK_vrtz   (2004-12-15 10:19:00) [8]

>stone ©   (15.12.04 09:55) [3]

>пустая строка уже не null

теперь после такого присваивания(если поле не числовое) сделай запрос
select * from table where это_поле is null
оцени результаты


Layner   (2004-12-15 10:00:00) [9]

[3] stone ©   (15.12.04 09:55)
не прокатывает :(
[4] Johnmen ©   (15.12.04 09:56)
Спасибо огромное!!!!!! Получилось!!!


Layner   (2004-12-15 09:57:00) [10]

dolmat   (15.12.04 09:48)
DenK_vrtz ©   (15.12.04 09:49)
Забыл сказать, работаю на MSSQL2000. Спасибо, но таким образом вносится не NULL а просто пустая строка. Выдает:
Invalid value for field q1f1
Поля такие:
q1f1-float
q1f2-int
q1f3-int


Johnmen   (2004-12-15 09:56:00) [11]

YourField.Clear


stone   (2004-12-15 09:55:00) [12]


> DenK_vrtz ©   (15.12.04 09:49) [2]
> q1f1.AsString:='';

пустая строка уже не null

procedure Tform1.q1BeforePost(DataSet: TDataSet);
begin
 q1f1.Value := NULL;
 q1f2.Value := NULL;
 q1f3.Value := NULL;
end;
только смысля в этом я тоже не вижу


DenK_vrtz   (2004-12-15 09:49:00) [13]

q1f1.AsString:='';


dolmat   (2004-12-15 09:48:00) [14]

q1f1.asvariant:='';
Только зачем тогда данное поле если в него не внесешь данных. Оно всегда null


Наверх

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