Ir para conteúdo
Fórum Script Brasil
  • 0

Erro no Delphi 7 com SQL Server - Couldn't perform the edit becau


valtino

Pergunta

Bom Dia a Todos

Estou com este erro, a baixo, todo vez que o cliente incluir um registro e vai abrir outro formulario que faz parte da geração de xml, quando o mesmo pede a geração do XML aparece esta mensagem, então o cliente tem que sair da aplicação e entrar novamente.

FIco grato se alguém já passou por isto é sabe a solução.

Utilizado Delphi 7 com Banco de Dados SQL Server 2000

ERRO Couldn't perform the edit because another user changed the record

valtino.

valtino_fcriminal@hotmail.com

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

erro: Não foi possível realizar a edição porque outro usuário alterou o registro

esse erro acontece quando a tabela do banco de dados esta em modo exclusivo

exe:

{ Try to open Table1 with Exclusive True }

{ First, close Table1 }
Table1.Active := False;
repeat { until successful or Cancel button is pressed }
  try
    Table1.Exclusive := True; { See if it will open }
    Table1.Active := True;
    Break; { If no error, exit the loop }
  except
    on EDatabaseError do
    { Ask if it is OK to retry. If it isn’t, reraise to abort }
      if Application.MessageBox(
        'Could not open Table1 exclusively - Try again?',

        'Open Error', 
        MB_OKCANCEL + MB_DEFBUTTON1) <> IDOK then
        raise; 
{ Otherwise resume the repeat loop }
  end;
until False;
ou quando voce usa bloqueio em tabela
procedure LockTable(LockType: TLockType);
ou não comitou ( atualizou ) o banco de dados exe:
FMenu.ZConnection1.Commit;
   FMenu.ZConnection1.StartTransaction;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

algumas sugestões:

1 - atualize as tabelas depois de Editar ou incluir algum registro

procedure TForm1.CustomerBeforeEdit(DataSet: TDataSet);
begin
 DataSet.Refresh;
end;

ou 

procedure TForm1.Button1Click(Sender: TObject);
begin
   ClientDataSet1.Refresh;
end;
onde o ClientDataSet1 corresponde a Table em uso ============================================ voce tambem pode mudar : Exemplo
Table1factura.UpdateMode := upWhereKeyOnly;

============================================

pode tambem tentar fechar as tabelas apos a edição ou inserção de registo

OBS: no seu código voce fecha e depois abre, mas não volta a fechar .... na sua maquina não da nenhum problema, mas funcionando em rede, pode haver bloqueio de registro

============================================

voce disse que não encontrou a propriedade Exclusive ( voce vai encontrar no componente TTable )

se voce estiver usando o AdoTable não vai achar no object inspector

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...