Fórum OnPostError - ClientDataSet #185365
30/09/2003
0
Pode-se usar somente o OnPosterror ou é necessário usar o OnRoconcileError
Uso Delphi6 com FireBird
var
Action: TDataAction);
begin
ErroMens := E.Message;
if UPPERCASE(COPY(ErroMens,1,13)) = ´KEY VIOLATION´ then begin
Action := daAbort;
ShowMessage(´Chave duplicada!´);
end;
TBM tentei assim:
var
Action: TDataAction);
begin
ErroMens := E.Message;
if COPY(ErroMens,1,34) = ´violation of PRIMARY or UNIQUE KEY´
KEY VIOLATION´ then begin
Action := daAbort;
ShowMessage(´Chave duplicada!´);
end;
mas está ainda dando o seguinte erro
Agraeço a todos antecipadamente, estou muito contente com a atenção deste Forum..... Afinal estou começando... estou vindo do Clipper
:oops:
Nilson Junior
Curtir tópico
+ 0Posts
30/09/2003
Nilson Junior
Gostei + 0
30/09/2003
Everton
begin
if Pos(´KEY VIOLATION´,E.Message) > 0 then
begin
ShowMessage(´Chave duplicada!´);
Action := daAbort;
end;
end;
Gostei + 0
01/10/2003
Adilsond
procedure TdtmPrincipal.cdsUsuarioPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin with EDBClient(E) do begin if ErrorCode = 9729 then MessageDlg(´Usuário já cadastrado.´, mtError, [mbOK], 0) else MessageDlg(Message, mtError, [mbOK], 0); end; Action := daAbort; end;
Para descobrir qual o exception( no meu caso EDBClient), execute o programa e deixe dar a mensagem do debug, nela consta o tipo do exception. Altere-o se necessário, execute e verifique através do debug qual o valor do ErrorCode.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)