GARANTIR DESCONTO

Fórum Campo obrigatório... traduzir erro gerado pelo banco... #244138

23/07/2004

0

Galera,
Tenho uma tabela de cadastro de clientes, com determinados campos obrigatórios, mas quando o usuário nao preenche esses campos e tenta gravar o cadastro o delphi gera o erro dizendo que determinado campo deve ser preenchido. Bom, o que eu preciso na verdade é traduzir o erro para o usuário informando qual o campo que não está preenchido, pois estou tratando o erro, simplesmente avisando o usuario que existe algum campo que não está preenchido mas não sei como dizer qual o campo.

Erro: Project SIRC.EXE raised exception class EDataBaseError with message ´Field ´RAZÃO SOCIAL´ must have a value´. Process stopped. Use Step or Run to continue.

Como faço pra traduzir galera que o campo RAZAO SOCIAL não foi preenchido ????

Alguém pode me ajudar nessa.

Um abraço a todos

Diego


Diegodelphi

Diegodelphi

Responder

Posts

23/07/2004

Paulo_amorim

Olá

Você pode testar os possíveis erros antes de realizar a operação.

if Trim(edtRazaoSocial.TExt) = ´´ then
begin
  ShowMessage( ´Preencha o campo RAZAO SOCIAL´);
  Exit;
end;
//aqui vc faz sua operaçao


Espero que ajude
Até+


Responder

Gostei + 0

23/07/2004

Aroldo Zanela

Colega,

Uma forma que encontrei, mas ainda não considero-a definitiva é a seguinte:

procedure TForm8.tbCadastroPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
var msg, campo: String;
    i, x: byte;
    flag: Boolean;
begin

  msg   := e.Message;
  if Pos(´must have a value´, msg)>0 then
  begin
    i     := Pos(´´´´, msg);
    msg[i]:= ´"´;
    x     := Pos(´´´´, msg);
    campo := copy(msg,i+1,x-i-1);
    MessageDlg(campo + ´: Preenchimento obrigatório. Verifique!´, mtError, [mbCancel],0);
  end else
  if Pos(´violation of PRIMARY or UNIQUE KEY´, msg)>0 then
  begin
    MessageDlg(´Código ou referência já cadastrado.´, mtError, [mbCancel],0);
  end;
      
  dm.Transaction.RollbackRetaining;
  Action := daAbort;

end;



Responder

Gostei + 0

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

Aceitar