Insert com data em branco
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:
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
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
Curtidas 0
Respostas
Pestana_
14/04/2008
é 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:
isso é só uma dica!
flw.
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.
GOSTEI 0
Aldus
14/04/2008
Olá, fiz como sugeriu e também não funcionou.
Utilizo o componente DateEdit
Utilizo o componente DateEdit
GOSTEI 0
Pestana_
14/04/2008
Utilizo o componente DateEdit
que componente é esse é nativo do Delphi?, poste o seu código.
flw.
GOSTEI 0
Aldus
14/04/2008
Da Lib RxLib
GOSTEI 0
Pestana_
14/04/2008
Da Lib RxLib
essa fico te devendo porque não conheço este componente, espero que alguem do forum possa te ajudar.
flw.
GOSTEI 0
Douglass
14/04/2008
Quando não quero gravar uma data no Firebird eu uso assim:
Espero que ajude.
:roll:
if DateEdit.text = ´ / / ´ then
parambyname(´data).AsDate := 0
else
parambyname(´data).AsDate := StrToDate(editdatanas.text);
Espero que ajude.
:roll:
GOSTEI 0
Edilcimar
14/04/2008
Se você der um valor ZERO para a data isto significa dezembro de 1889
GOSTEI 0
Pestana_
14/04/2008
Olá, fiz como sugeriu e também não funcionou.
Utilizo o componente DateEdit
porque não funcionou? :roll: aparece algum erro?
flw.
GOSTEI 0