Nulo e Vazio (Qual a Diferença)

Delphi

01/07/2003

Parece algo intrigante e até hoje não achei um livro que explicasse claramente qual a diferença de um campo Null (Nulo) e um campo Vazio.

Alguém poderia me explicar


Ricardo Barbosa

Ricardo Barbosa

Curtidas 0

Melhor post

Marconi

Marconi

01/07/2003

Ricardo

A grande diferença entre Nulo e Vazio, é que o Vazio é um valor que tem endereço na Memória e o Vazio não tem qualquer referencia.

Se voce tiver uma variavel String e der a ela o valor EmptyStr, ou seja uma string vazia, voce pode fazer concatenações com ela, pois ao ser acionada, o processador vai buscar um endereço na memória que diz que ela tem um valor vazio, mas se ela estiver NULL não há endereço na memória e qualquer tentativa de concatenação vai dar erro de endereço ´FFFFFFFF´.

A mesma coisa acontece com variaveis numéricas. Zero é um valor mas NULL não é nada.

Antes de processar qualquer valor de uma variável, ou campo, que possa não ter recebido valores e estar com NULL, é bom testar esta condição. Exemplo:

if tabela[´campo´]<> null
then MinhaVariavel:=tabela[´campo´]*10 else MinhaVariavel:=0;

Marconi


GOSTEI 2

Mais Respostas

Thaisandrade

Thaisandrade

01/07/2003

Bom Ricardo, ai vai depender do que você entende por um campo vazio, por que dependendo do que você entender por vazio, é o mesmo que nulo.


GOSTEI 0
Thaisandrade

Thaisandrade

01/07/2003

Bom Ricardo, dependendo do que você entende por campo vazio, é o mesmo que nulo. Nulo, é um valor que indica que não tem nada no campo, poe exemplo: Imagine um campo char(30). Se você jogar ´´ dentro do campo, ele estará vazio, porém não estará nulo.
Entendeu?


GOSTEI 2
Marconi

Marconi

01/07/2003

Opss!

Corrigindo a comida de bola acima

Isto é o que eu realmente queria dizer:

´A grande diferença entre Nulo e Vazio, é que o Vazio é um valor que tem endereço na Memória e o Null não tem qualquer referencia. ´

Marconi


GOSTEI 2
POSTAR