GARANTIR DESCONTO

Fórum evitar que o registro seja editado por mais de um usuario #533178

30/09/2015

0

boa tarde pessoal, alguem sabe como evitar que o registro seja editado por mais de um usuario no delphi com firedac?
Nei

Nei

Responder

Posts

10/11/2015

Rafael Bosco

Primeiramente adicione um campo MODIFICADO na vossa tabela, mantendo como FALSE, se alguém modificar ela, você muda para TRUE, e se posteriormente, algum outro usuário tentar modificar o registro, verifique se o campo estiver TRUE, não deixe alterar.

 procedure CheckModificar;
 const 
   SQL: String = 'SELECT MODIFICADO FROM TABELA';
 begin
   fQuery.SQL.Clear;
   fQuery.SQL.Add(SQL);
   fQuery.Open;
   if fQuery.FieldByName('MODIFICADO').AsInteger = - 1 then
     raise Exception.Create('Não é possível modificar o registro, pois, já foi alterado por outro usuário');
 end;
Responder

Gostei + 0

07/03/2016

Mikelustosa

Não aconselho criar campo, como o amigo falou, pois o valor do campo pode ficar preso em caso de algum erro de inserção ou edição causando dores de cabeça ao usuário.

Uma alternativa seria criar uma query_editando e ao tentar editar, verificar se essa query_editando está em modo de edição.

Ficaria assim:

If query_editando.state in [dsEdit] then
begin
//informe mensagem que não é possivel editar pois já esta sendo editado...
end;
Responder

Gostei + 0

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

Aceitar