Campo obrigatório... traduzir erro gerado pelo banco...
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
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
Curtidas 0
Respostas
Paulo_amorim
23/07/2004
Olá
Você pode testar os possíveis erros antes de realizar a operação.
Espero que ajude
Até+
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é+
GOSTEI 0
Aroldo Zanela
23/07/2004
Colega,
Uma forma que encontrei, mas ainda não considero-a definitiva é a seguinte:
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;
GOSTEI 0