Fórum campo inteiro com dbexpress. #292821

23/08/2005

0

Pessoal, com dbexpress n da para passar um valor nulo em um campo inteiro que não é requerido ?

da erro de string, passando o parametro só o campo (nomedocampo.text)

Com o componente do interbase, podia passar assim que o inteiro ficava null o campo.

Obrigado


Lynx

Lynx

Responder

Posts

23/08/2005

Celamar

Tente assim... pelo menos com data funcionou

 if trim(nomedocampo.text) = ´´ then
    CampoBanco := ´NULL´; //em maiúsculo dependendo do banco 



Responder

Gostei + 0

23/08/2005

Lynx

deixei o campo char, passo uma variavel assim.

idcadclientes:= NullasStringValue;

na hora de inserir da pau tbm, com erro de string.


Responder

Gostei + 0

23/08/2005

Lynx

não da para passar ´null´.


Responder

Gostei + 0

23/08/2005

Celamar

Dessa forma funciona, mais é mais trabalhosa, por exemplo:

 if Trim(idade.txt) = ´´ then
    insert into pessoa (nome) (values ´joazinho´)
 else
    insert into pessoa (nome, idade) (values ´joazinho´, 15);


Assim o campo idade da tabela não será preenchida, automaticamente o banco setará como null


Responder

Gostei + 0

23/08/2005

Lynx

gambiarra, deve ter alguma forma, com o componente interbase até um .text setava para Null se estivesse vaziu.

eu passando um nullasstring para uma variavel e o campo com tipo varchar ta dando pau...


Responder

Gostei + 0

23/08/2005

Lynx

sinceramente não está dando certo passar um valor nullo, com o dbexpress

tentei assim

variavel:= NullAsStringValue


e no parametro

(´CAMPO´).asString:= variavel;

n da certo, o campo da base é ChaR.


Tentei como Inteiro e passando null tb n da.


Responder

Gostei + 0

23/08/2005

Lynx

tentei tb ParamByName(´CAMPO´).Clear

Mas volta um erro (No Value for Parameter ´CAMPO´)


Responder

Gostei + 0

23/08/2005

Lynx

resolvido assim:

      if idmotordiesel = NullAsStringValue then
        begin
          ParamByName(´IDMOTORDIESEL´).DataType:= ftInteger;
          ParamByName(´IDMOTORDIESEL´).Value:= null
        end
      else
        ParamByName(´IDMOTORDIESEL´).AsString:= idmotordiesel;


Se alguém souber uma maneira melhor, fique avontade para postar.

Obrigado


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar