Erro ao sair do MaskEdit

Delphi

10/05/2017

No meu projeto tenho um MaskEdit que abre com a data do dia. Quando o usuario vai pesquisar por nome e não pela data, ao apagar a data do campo e sair aparece o seguinte erro:

" / / ' is not a valid date'

Minha mascara está com !99/99/9999;1;_

Já testei outras maneiras que vi aqui no fórum, mas nenhuma dá certo.Algúem pode me ajudar?
Deise Souza

Deise Souza

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

10/05/2017

Faça um teste alterando seu código para:

{ Data }
  if MaskEdit1.Text <> '  /  /    ' then
  begin
    SQLConsultaAgendamento.SQL[19] := ' and a.data_radiografia = : data ';
    SQLConsultaAgendamento.ParamByName('data').AsDate :=
      StrToDate(MaskEdit1.Text);
  end
  else
  begin
    SQLConsultaAgendamento.SQL[19] := ' / * SQL dinamico * / ';
  end;
GOSTEI 1

Mais Respostas

Robson Morais

Robson Morais

10/05/2017

você faz alguma validação no exit do campo ? ou a tem alguma informação (espaço ou outro caracter) no campo da data ?
Porque uso aqui e não tenho esse problema, o que pode fazer também caso não descubra é colocar um codigo assim no exit do campo:

if (data.text = ' / / ') then exit;


acho que não vai dar mais o erro;
GOSTEI 0
Deise Souza

Deise Souza

10/05/2017

No OnExit do MaskEdit não coloquei nada. Tem uma parte do código no campo data para consulta no banco, com o seguinte código:


if MaskEdit1.Text <> '' / /'' then
begin
SQLConsultaAgendamento.SQL[19] := '' and a.data_radiografia = :data '';
SQLConsultaAgendamento.ParamByName(''DATA'').AsDate :=
StrToDate(MaskEdit1.Text);
end
else
begin
SQLConsultaAgendamento.SQL[19] := '' /* sql dinamico */ '';
end;

Testei esse que vc falou e continua dando o mesmo erro
GOSTEI 0
Robson Morais

Robson Morais

10/05/2017

Post o seu codigo, porque estou testando aqui e não estou capturando esse erro;
GOSTEI 0
Deise Souza

Deise Souza

10/05/2017

Deu certo, o que estava errado, é que na data estava faltando dois espaços no final ('' / / ''), pq o ano é com os 4 digitos e só estava o espaço para dois. Muito obrigada pela atenção.
GOSTEI 0
Robson Morais

Robson Morais

10/05/2017

denada.
GOSTEI 0
POSTAR