Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Null   Найти похожие ветки 

 
Zlod3y   (2004-07-16 10:50) [0]

В числовое поле при использовании метода Insert в таблицу сразу записывается 0! Мне не нужен этот ноль, нужно пустое поле.....и я поступаю сл. образом:

with DataModule1.Table1 do begin
.....
FieldValues["Field_name"]:=null;
.....
Post;     //<-здесь возникает искличительная ситуация
end;


Конечно я обрабатываю такую искличительную ситуацию оч. просто:

with DataModule1.Table1 do begin
.....
FieldValues["Field_name"]:=null;
.....
try
Post;    //<-здесь возникает искличительная ситуация
except
//здесь пусто
end;
refresh;
end;


Refresh делаю потому-что после Post таблица переводится в режим dsEdit...

Как мне избежать этой исключительной ситуации?


 
Ega23 ©   (2004-07-16 10:57) [1]

Default на это поле NULL поставь.


 
Anatoly Podgoretsky ©   (2004-07-16 11:05) [2]

Эту строчку убрать из кода программы
FieldValues["Field_name"]:=null;


 
Zlod3y   (2004-07-16 11:22) [3]


> Anatoly Podgoretsky ©   (16.07.04 11:05) [2]
> Эту строчку убрать из кода программы
> FieldValues["Field_name"]:=null;

Тогда в поле запишется "0"


 
Соловьев ©   (2004-07-16 12:26) [4]


> Мне не нужен этот ноль, нужно пустое поле.....

FieldByName("field").Clear;


 
Reindeer Moss Eater ©   (2004-07-16 12:28) [5]

> FieldValues["Field_name"]:=null;

FieldValues - это Variant
Вариант со значением null для числового поля это ноль.
Все по-честному.


 
Viktor1   (2004-07-16 12:37) [6]

Возможно стоит по умолчанию 0 в Accesse.
Открой таблицу в самом Accessе. Там внизу есть "Значение по умолчанию", так оно при созданиии цислового поля сразу стовится 0.


 
Reindeer Moss Eater ©   (2004-07-16 12:39) [7]

Значение по умолчанию вставится в поле если из приложения придет запрос на апдейт записи в котором поле это не упомянуто вообще.
В противном случае никакой defaul туда не попадет.


 
Reindeer Moss Eater ©   (2004-07-16 12:40) [8]

на инсерт конечно же, а не на апдейт.


 
Viktor1   (2004-07-16 13:20) [9]

При следющем открытии поле где по умолчанию 0 , в Gride будет забито нулями.


 
Reindeer Moss Eater ©   (2004-07-16 13:24) [10]

Ну и при чем здесь какой-то грид?
И тем более какой-то символ отображаемый в этом гриде и к физическому полю таблицы имеющий весьма отдаленное отношение?

У человека есть явное присвоение значения полю датасета.
Никакое DEFAULT значение в это поле ни в одном движке никогда не попадет.

Хоть десять гридов позови на помошь.


 
D.J.Star   (2004-07-16 18:33) [11]


> В числовое поле при использовании метода Insert в таблицу
> сразу записывается 0! Мне не нужен этот ноль, нужно пустое
> поле.....и я поступаю сл. образом:
>
> with DataModule1.Table1 do begin
> .....
> FieldValues["Field_name"]:=null;
> .....
> Post;     //<-здесь возникает искличительная ситуация
> end;
>
>
> Конечно я обрабатываю такую искличительную ситуацию оч.
> просто:
>
> with DataModule1.Table1 do begin
> .....
> FieldValues["Field_name"]:=null;
> .....
> try
> Post;    //<-здесь возникает искличительная ситуация
> except
> //здесь пусто
> end;
> refresh;
> end;
>
>
> Refresh делаю потому-что после Post таблица переводится
> в режим dsEdit...
>
> Как мне избежать этой исключительной ситуации?

Ну вы чё, братва!!! Null это "0", а пустое значение - это "nil"!
Во всяком случае нужно преереструктуизировать таблицу и отменить обязательное присвоение значение полю.


 
Reindeer Moss Eater ©   (2004-07-16 18:40) [12]

Ну вы чё, братва!!! Null это "0", а пустое значение - это "nil"!
Братва тут перетерла и порешила что null это вариант, а nil это Pointer.


 
Zlod3y   (2004-07-17 09:14) [13]

Всё братва.....спасибки всем :-)....всё-таки решил ничего не делать и оставить всё как было

ЗЫ. D.J.Star ты не прав. nil - это указатель на пустоту, а null - это даже не ноль :^)

ЗЫ2. а вариант в котором мне значение по умолчанию для поля пришлось отвергнуть, подробности "почему?" мне лень описывать.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1091088242
wHammer
2004-07-29 12:04
2004.08.15
Создание объекта в run-time


6-1087201621
Apocalepse
2004-06-14 12:27
2004.08.15
Передача текста. Срочно!!! Подалуйста.


3-1090558298
PiterPP
2004-07-23 08:51
2004.08.15
Ошибка на клиенте при открытии базы dbf


8-1085705549
MicroMozg
2004-05-28 04:52
2004.08.15
Плагины от Winamp а.


1-1091108144
Vasya.ru
2004-07-29 17:35
2004.08.15
Процедура копирования директорий





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский