Erro de transações concorrentes

05/08/2004

0

Bom dia,


Não sei mais o que fazer, estou com um problema enorme no cadastro de vendas. Quando tem duas ou mais máquinas com a mesma tela aberta ao gravar dá o seguinte erro: ´COULDN´T PERFORM THE EDIT BECAUSE ANOTHER USER CHANGED THE RECORD.´

Está sendo muito problemático, dá dando este erro sem parar. Preceiso muito de ajuda.
:cry:

Abraços,
Fernanda.


Fernanda.sique

Fernanda.sique

Responder

Posts

05/08/2004

Marcus.magalhaes

Bom dia Fernanda, td bem?

Vc pode usar transações para resolver seu problema. vc abre a transação, garantindo assim q só 1 usuário esteja no mesmo registro e depois q comitar o registro estará liberado. Porém vc deve fazer um controle para evitar q o usuário abra a janela e carregue um registro e vá almoçar, deixando o mesmo locado.

Como vc está montando seu processo?

Att,


Responder

05/08/2004

Fernanda.sique

Muito obrigada pela atenção.

Em todas as rotinas eu coloco StartTransaction e no final Commit.


Será que tem alguma configuração para fazer nos objetos?


Responder

05/08/2004

Marcus.magalhaes

Oi Fernanda,

infelizmente em linguagem de programação eu não posso te ajudar pq não sei, conheço mais banco de dados.

Att,


Responder

05/08/2004

Felipe_cduarte

Fala Fernanda blz ???

Você está usando o delphi ??? se for eu posso até ajudar ... Uns dos motivos pode ser que dois usuarios estejam abrindo o mesmo registro do BD ... explique melhor q eu tento ajudar


Responder

05/08/2004

Fernanda.sique

Ai Felipe estou desesperada, nunca vi isto antes. Vou explicar:
Quando o usuário clica no botão incluir em dou um insert no banco e já imediatamente gravo, pronto a venda está gravada. Em seguida para o usuário continuar fazendo a venda eu dou um table.Edit e assim vai.
Na corpo da venda tem os itens que é insert em outra tabela. No final quando o usuário clicar no botão gravar a venda eu efetuo table.post e em segui executo um função que dá baixa no estoque e logo em seguida crio automaticamente uma ordem de serviço para entrega.
Estou usando o componente database, table, query da paleta BDE do delphi 7.
Vc sabe o que pode ser?


Responder

06/08/2004

Felipe_cduarte

Oi Fernanda tudo bom ?

Fica trankila, aos poucos a gente vai esclarecendo e chegamos lá ! Seguinte, pelo o que está aparecendo, na hora deste table.edit , dois usuários devem estar utilizam um mesmo produto por exemplo.. Se você der mais um pouco de detalhes fica mais facil de ver o porquê. Mas por outro lado acho que o que está teoricamente errado é o conceito... Você já experimentou utilizar stored procedures e o clientdataset ? Com o clientdataset voce poderá trazer as informações pra cada usuário , sem mexer fisicamente na tabela do BD ( evitando o comando edit ). E a SP você utilizaria no final de tudo , efetuando uma unica instrução de gravação .. Bom espero ter ajudado ... qq coisa envie ou post.

PS: por falar nisso qual BD vc usa ??


Responder

06/08/2004

Daniela

Ja tive esse problema porém no VB.

Eu resolvi assim:

O primeiro usuario esta editando o registro. Se um outro usuario tentar editar esse mesmo registro ao mesmo tempo o sistema vai gerar um erro entao eu fiz um tratamento de erro e toda vez que der esse erro o sistema mostra uma mensagem dizendo que tem alguem alterando essa informacao.

Talves tambem seria bom vc colocar um timer para limitar o tempo maximo de venda senao a pessoa pode ficar com o registro em uso eternamente.

Espero ter ajudado.


Responder

06/08/2004

Fernanda.sique

Oi Daniela,

Obrigada pela força.

Minha dúvida e que acontece quando as vendedoras estão incluindo vendas novas, venda que não tem nada a ver uma com a outra - salvo que são gravadas na mesma tabela.

Muito estranho.


Responder

06/08/2004

Felipe_cduarte

Fernanda,

manda um script das tabelas pra gente poder dar um olhada

[]´s


Responder

06/08/2004

Daniela

Não entendi então o seu problema...


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar