Fórum Problema com o maskedit e Datas #281808
16/05/2005
0
Tenho um campo chamado Data no BD e estou usando o maskedit para passa o conteúdo da data. Qdo não digito nda no maskedit ele passa para o BD a mascara como valor, ou seja, / / , e dá o seguinte erro: ´não pode converter um tipo string em um tipo data. Qdo retiro a mascara dá tb o mesmo erro, mas o valo passado é ´´ ´´.
Eu queria passar o campo data como vazio no banco de dados, não sendo obrigado a digitar uma data.
Obrigado!
Obs: D7 com FB
mascara já testadas:
!99/99/9999;1;_
!99/99/9999;0;_
#//;1;_
//;0;_
Rssampaio
Curtir tópico
+ 0Posts
16/05/2005
Juliopedroni
Gostei + 0
16/05/2005
Marco Salles
Como ele Passa para o BD :?: :?: :?:
Voce usa qual código para isto :?: :?:
E Nesta hora que voce tem que testar a Dica do juliopedroni
Exemplo:
Teste para Mascara !99/99/9999;0;_
if MaskEdit1.Text <> ´´ Then significa Data Digitada
Teste Para Mascara !99/99/9999;1;_
if MaskEdit1.Text <> ´ / / ´ Then Significa Data Digitada
:arrow: Tem que ver tb se o Campo Data pode ser nulo.. Como ele foi definido No BD
:arrow: Note que eu aqui , não estou me preocupando com datas validas, ai voce deve se preocuora em construir um Bloco Try Except,
seje no evento on exit do MaskEdit Ou Na Hora de Salvar os Dados
Gostei + 0
17/05/2005
Rssampaio
No BD o campo de Data [b:ad0107d687]não[/b:ad0107d687] está obrigatório o preenchimento.
Valeu!
Gostei + 0
17/05/2005
Marco Salles
[b:9ac907a89f]Fazendo um teste if then na hora de dar o Post[/b:9ac907a89f]
Teste para Mascara !99/99/9999;0;_
Código:
bal .. bla ... bla... if MaskEdit1.Text <> ´´ Then Table1.NomeDoBandoData.Value:=DatetToStr(MaskEdit1.Text); bla...bla..bla Table1.Post
Gostei + 0
17/05/2005
Rssampaio
Obrigado!
Gostei + 0
17/05/2005
Marco Salles
Eu não manxo nada de Stp :oops: :oops: :oops:
Mas so uma pergunta .. Da para escrever ou executar duas stp Diferentes :?: :?: :?:
Gostei + 0
17/05/2005
Repa
campo tabela.clear;
Assim ele não dá erro.
Gostei + 0
17/05/2005
Rssampaio
Eu consegui resolve isso com o seguinte código:
if edtData.Text <> ´ / / ´ then
Params.ParamByName(´NomeParametro´).Value := edtData.Text
else
Params.ParamByName(´NomeParametro´).Value := Null;
Obrigado!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)