Mensagem para tratamento erro violação chave primária no DBEXpress

31/01/2013

1

Olá pessoal

Por favor peço que verifique na função abaixo o que esta errado. esta é uma função para tratamento erro de violação da chave primaria...para caso um documento ja esteja cadastrado ele exiba uma mensagem em portugues....mas ele esta exibindo somente a em ingles: 'Key violation'


function TDMFiscal.CustomReconcileError(DataSet: TDataSet; UpdateKind: TUpdateKind;
E: EReconcileError): TReconcileAction;
const Acao: array [TUpdateKind] of string = ('Alterar','Inserir','Excluir');
var
Msg: String;
i: Integer;
begin
if pos('PK_LCTOSENTRADA',E.Message) > 0 then
begin
Msg := Format('Documento já cadastrado!',[]);
end;
case UpdateKind of

ukDelete: Result := raCancel;
ukInsert: Result := raAbort;
ukModify: Result := raAbort;

end;
if Msg = '' then
begin
Msg := 'Não foi possível completar esta operação, informe a mensagem abaixo ao suporte!'#13+E.Message;
ShowMessage(Format('Não foi possível %s o registro.'+#13+Msg,[Acao[UpdateKind]]));
end;
end;




EVENTO ONRECONCILEERROR:


procedure TDMFiscal.cdsEntradasReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
inherited;
Action := CustomReconcileError(DataSet, UpdateKind, E);

end;


Grato pela atenção!
Responder

Posts

...

if Msg = '' then



Só irá mostrar sua mensagem personalizada se a condição for verdadeira.
Responder