GARANTIR DESCONTO

Fórum Insert com data em branco #357097

14/04/2008

0

Olá amigos,
Um cliente me pediu para colocar na data de nascimento no cadastro de clientes, a possibilidade de deixar em branco.
Através do update, consigo colocar a data como nula ´DATANASCIMENTO=null´, mas não consegui inserir com INSERT já com a data nula.

Utilizo Delphi 7 com Fire 2.

Uso da seguinte forma:
insert into clientes (codcli,nomcli,datanas) values (:codcli,:nomcli,:datanas)
parambyname(´codcli´).asinteger := editcodcli.value;
parambyname(´nomcli´).asstring := editnomi.text;
parambyname(´datanas´).asdate := editdatanas.date;


Quando ´editdatanas´ está vazio ocorre o erro.
Já tentei ´parambyname(´datanas´).clear´.
Já tentei ´parambyname(´datanas´).asdate := StrToDate(´ / / ´)´

Vc teria alguma sugestão para o caso?

att
Mario


Aldus

Aldus

Responder

Posts

14/04/2008

Pestana_

é que você deve estar utilizando o componente [color=blue:f840c231be]DateTimePicker[/color:f840c231be] ai complica porque não tem como limpar a data do componente.

se você estivesse utilizando um edit ficaria mais facil, ex.:

na sua estrutura no banco: se o campo data não estiver definido como [b:f840c231be]not null[/b:f840c231be], então você poderia fazer assim:

insert into clientes (codcli,nomcli,datanas) values (:codcli,:nomcli,:datanas) 
parambyname(´codcli´).asinteger := editcodcli.value; 
parambyname(´nomcli´).asstring := editnomi.text; 
if editdatanas.text = ´  /  /   ´ then
  parambyname(´datanas´).value := null
else
  parambyname(´datanas´).asdate := StrToDate(editdatanas.text);



isso é só uma dica!
flw.


Responder

Gostei + 0

14/04/2008

Aldus

Olá, fiz como sugeriu e também não funcionou.

Utilizo o componente DateEdit


Responder

Gostei + 0

14/04/2008

Pestana_

Utilizo o componente DateEdit


que componente é esse é nativo do Delphi?, poste o seu código.

flw.


Responder

Gostei + 0

14/04/2008

Aldus

Da Lib RxLib


Responder

Gostei + 0

14/04/2008

Pestana_

Da Lib RxLib


essa fico te devendo porque não conheço este componente, espero que alguem do forum possa te ajudar.


flw.


Responder

Gostei + 0

15/04/2008

Douglass

Quando não quero gravar uma data no Firebird eu uso assim:

if DateEdit.text = ´ / / ´ then parambyname(´data).AsDate := 0 else parambyname(´data).AsDate := StrToDate(editdatanas.text);


Espero que ajude.
:roll:


Responder

Gostei + 0

15/04/2008

Edilcimar

Se você der um valor ZERO para a data isto significa dezembro de 1889


Responder

Gostei + 0

15/04/2008

Pestana_

Olá, fiz como sugeriu e também não funcionou. Utilizo o componente DateEdit


porque não funcionou? :roll: aparece algum erro?

flw.


Responder

Gostei + 0

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

Aceitar