Fórum Ainda não consegui... Validação de data no DBGRID... Ajudem. #170920
23/07/2003
0
Uso DELPHI 5.0 E PARADOX
O meu problema é o seguinte...
Faço inclusão e edição de itens em uma TABELA (tbcaddep.dtnascdep)usando um DBGRID, porém quando digito uma data de nascimento errada ou fora do mês, tipo 31/02/2003, automaticamente é mostrada uma mensagem de erro quando mudo de coluna/célula ou linha...
O q devo fazer pra resolver isso ????
Em um DBEDIT normal tem o tratamento de exceções mas no DBGRID não sei como fazer...
Desde já agradeço toda ajuda...
Jota
O meu problema é o seguinte...
Faço inclusão e edição de itens em uma TABELA (tbcaddep.dtnascdep)usando um DBGRID, porém quando digito uma data de nascimento errada ou fora do mês, tipo 31/02/2003, automaticamente é mostrada uma mensagem de erro quando mudo de coluna/célula ou linha...
O q devo fazer pra resolver isso ????
Em um DBEDIT normal tem o tratamento de exceções mas no DBGRID não sei como fazer...
Desde já agradeço toda ajuda...
Jota
Jota
Curtir tópico
+ 0
Responder
Posts
23/07/2003
Fer
Ola,
Lembre-se que o DBgrid esta ligado ao banco ... e se vc tratar a exceção no banco ou table que o DBgrid respeitará.
Tenho essa rotina que trata os erros do retorno do banco.
Falow
Lembre-se que o DBgrid esta ligado ao banco ... e se vc tratar a exceção no banco ou table que o DBgrid respeitará.
Tenho essa rotina que trata os erros do retorno do banco.
Tratando erros no banco de dados procedure AppException(Sender: TObject; E: Exception); ... implementation ... procedure TChamado.AppException(Sender: TObject; E: Exception); var j: Integer; Msg: String; begin Warning1.Hide; if E is EDBEngineError then begin with EDBEngineError(E), Errors[0] do if ErrorCode = 9734 then // Has Details ShowMessage(´Este registro não pode ser removido, outros arquivos precisam dele.´) else if ErrorCode = 9729 then //11756 then // Key Violation (o nro do codigo está errado) ShowMessage(Format(´Ocorreu um erro no banco de dados: código ¬d.´, [ErrorCode])) else if ErrorCode = 11270 then // another .NET file ShowMessage(´Diretório controlado por outro arquivo .NET, verifique configuração do Banco de Dados.´) else if ErrorCode = 9733 then // Master record missing ShowMessage(´Registro Master não encontrado.´) else if ErrorCode = 9734 then // Master has details ShowMessage(´Este registro não pode ser removido, ele está sendo usado pelo Fireman.´) else if ErrorCode = 8708 then // Record/Key deleted ShowMessage(´Este registro foi removido por outro Operador.´) else if ErrorCode = 10241 then // alredy in use - // Copy usado para pegar o nome do usuário with Errors[2] do ShowMessage(Format(´Este registro está sendo usado pelo Operador: ´´¬s´´.´, [Copy(Message, 7, 20)])) else // Outros begin for j := 0 to ErrorCount -1 do // Loop para pegar todas as linhas das msg de erro with Errors[j] do Msg := Msg + Message + 13; ShowMessage(Format(´EDBEngineError ¬d: ¬s´, [ErrorCode, Msg])) end end else if E is EConvertError then begin with EConvertError(E) do if Pos(´date and time´, Message) > 0 then ShowMessage(´Informe uma data e hora válida.´) else if Pos(´is not a valid time´, Message) > 0 then ShowMessage(´Informe uma hora válida.´) else if Pos(´is not a valid date´, Message) > 0 then ShowMessage(´Informe uma data válida.´) else Application.ShowException(E); end else Application.ShowException(E); end; // AppException
Falow
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)