Mensagem para tratamento erro violação chave primária no DBEXpress
31/01/2013
0
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!
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!
Jose Luis
Curtir tópico
+ 0
Responder
Posts
31/01/2013
Francisco Macário
...
if Msg = '' then
if Msg = '' then
Só irá mostrar sua mensagem personalizada se a condição for verdadeira.
Responder
Clique aqui para fazer login e interagir na Comunidade :)