Eu falo, falo e parece que to falando com as paredes!!!! Aí não tem humildade 
que agüente!!!

 

Vou falar denovo, USE TRANSAÇÃO MANUAL! Procura uma apostila sobre acesso 
concorrente a tabelas.

Ou como utilizar transações.

 

Se você usar transação manual resolverá seus problemas de usuários editarem 
mesmo registro.

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Fellipe 
Henrique
Enviada em: sexta-feira, 16 de novembro de 2007 14:47
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria alguma 
solução?

 

Cara... descobri o meu problema... eu tenho uma funcao que trava o cadastro,
pra ninguem alterar o mesmo cadastro ao mesmo tempo, consequentemente, trava
o registro do produto... :o(

Removendo esta funcao, dá certo... mas aí gera outro problema... 2 pessoas
alterando o mesmo produto ao mesmo tempo... como tratar isso?

[]s

Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
<mailto:davi.wall%40mult.com.br> > escreveu:
>
> Qual mensagem gerar quando vc da um Edit na table sem iniciar uma
> transação?
>
> De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br> [mailto:
> delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br>] Em nome de
> Davi Eduardo Borges Wall
> Enviada em: sexta-feira, 16 de novembro de 2007 14:41
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br>
> Assunto: RES: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> alguma solução?
>
> Qual a mensagem gerada qual vc da um Edit sem iniciar uma transação?
>
> De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br> [mailto:delphi-br@yahoogrupos.com.br 
> <mailto:delphi-br%40yahoogrupos.com.br> 
> <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> ] Em nome de Fellipe Henrique
> Enviada em: sexta-feira, 16 de novembro de 2007 14:36
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br>
> Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> alguma solução?
>
> Eu vi lá.. na verdade não estou usando AutoCommit, e sim AutoTransaction,
> ou seja, minhas IBTransaction estão como AllowAutoStart como True...
> tentei
> passar isso pra false, e incluir um StartTransaction ao gravar, mas o IBX
> não deixa, ele precisa de uma transação ativa até para mostrar os dados.
>
> E pelo que vi, não há como separar a transacao do Update com a de um
> simples
> View... :o(
>
> E agora? Fiquei preso.. hehe
>
> []s
>
> Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> <mailto:davi.wall%40mult.com.br> > escreveu:
> >
> > Eu não uso IBx, mas no tal IBDatabase tem uma propriedade Params, onde
> > provavelmente vão os parâmetros de conexão.
> >
> > Provavelmente, há um parâmetro conexão chamado AutoCommit, coloque esse
> > parâmetro para False e faça os testes.
> >
> > Se alguém mais conhece conexões com IBx e poderia ajudar o Felipe em
> como
> > configurar uma conexão sem auto commit.
> >
> > []'s
> >
> > De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br> [mailto:
> > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br>] Em nome de
> > Fellipe Henrique
> > Enviada em: sexta-feira, 16 de novembro de 2007 14:13
> > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br>
> > Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > alguma solução?
> >
> > IBX... IBExpress...
> >
> > []s
> >
> > Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> > <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> <mailto:davi.wall%40mult.com.br> <
> davi.wall%40mult.com.br><mailto:
> > davi.wall%40mult.com.br> > escreveu:
> > >
> > > O que você está usando como conexão? Bde ou DBExpress ???
> > >
> > > De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> [mailto:
> > > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br> <mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>] Em
> nome
> > de
> > > Fellipe Henrique
> > > Enviada em: sexta-feira, 16 de novembro de 2007 14:00
> > > Para: delphi-br@yahoogrupos.com.br 
> > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > > Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > > alguma solução?
> > >
> > > Mas tipo.. como eu falo pra meu DataSet que não é pra ele abrir a
> > > transação?
> > >
> > > Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> > > <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> <mailto:davi.wall%40mult.com.br> <
> davi.wall%40mult.com.br><mailto:
> > davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> > > davi.wall%40mult.com.br> > escreveu:
> > > >
> > > > Aí está um problema.
> > > >
> > > > Imagine que um funcionário que está usando seu sistema for cadastrar
> > > algo
> > > > e no meio do cadastro ele foi tomar um café.
> > > >
> > > > O café dele durou 30 minutos. Essa tabela ou registro vai ficar em
> > lock
> > > > por meia hora.
> > > >
> > > > O ideal seria vc controlar isso manualmente.
> > > >
> > > > Database.StartTransaction;
> > > >
> > > > try
> > > >
> > > > Table.Post;
> > > >
> > > > Except
> > > >
> > > > Database.RollBack;
> > > >
> > > > End;
> > > >
> > > > DataBase.Commit;
> > > >
> > > > Isso diminui o tempo de transação e com certeza vai melhorar os seus
> > > > problemas de lock.
> > > >
> > > > []'s
> > > >
> > > > De: delphi-br@yahoogrupos.com.br 
> > > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > [mailto:
> > > > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br> <mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> <mailto:
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>] Em
> > nome
> > > de
> > > > Fellipe Henrique
> > > > Enviada em: sexta-feira, 16 de novembro de 2007 13:38
> > > > Para: delphi-br@yahoogrupos.com.br 
> > > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> >
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > > > Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > > > alguma solução?
> > > >
> > > > Bom, na verdade deixo isso por conta do IBX, provavelmente a
> abertura
> > > deve
> > > > ser feita no .Edit, e finalizar quando eu dou o Cancel (RollBack),
> ou
> > o
> > > > Post
> > > > (Commit). Isso em todas as telas minhas de cadastro...
> > > >
> > > > []s
> > > >
> > > > Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> > > > <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> <mailto:davi.wall%40mult.com.br> <
> davi.wall%40mult.com.br><mailto:
> > davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> > > davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> > > > davi.wall%40mult.com.br> > escreveu:
> > > > >
> > > > > Em que momento você está abrindo e fechando transação?
> > > > >
> > > > > De: delphi-br@yahoogrupos.com.br 
> > > > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > > delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > > [mailto:
> > > > > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> <mailto:
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > <mailto:
> > > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>] Em
> > > nome
> > > > de
> > > > > Fellipe Henrique
> > > > > Enviada em: sexta-feira, 16 de novembro de 2007 13:13
> > > > > Para: delphi-br@yahoogrupos.com.br 
> > > > > <mailto:delphi-br%40yahoogrupos.com.br> 
> > > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <mailto:delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
>
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > > delphi-br%40yahoogrupos.com.br>
> <delphi-br%40yahoogrupos.com.br><mailto:
> > >
> > > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > > >
> > > > > Assunto: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > > alguma
> > > > > solução?
> > > > >
> > > > >
> > > > > Olá amigos, estou tendo um problema que está me pirando, se algum
> > > amigo
> > > > > souber de alguma forma de tratar isso, agradeço..
> > > > >
> > > > > Seguinte... tenho uma tabela de Nota de Entrada, e no Before
> Update
> > > > dela,
> > > > > tenho uma trigger, que dá um update na tabela produto, atualizando
> o
> > > > custo
> > > > > dele..
> > > > >
> > > > > update produto
> > > > > set custo_unitario = :vCusto,
> > > > > custo_medio = :vCustoMedioA,
> > > > > custo_total = coalesce(custo_total, 0) + (:vcusto * new.quantidade
> )
> > > > > where (idproduto = new.idproduto);
> > > > >
> > > > > Meu problema está no seguinte... em outra parte da empresa, tem um
> > > setor
> > > > > alterando o cadastro do produto, aí? DeadLock! O interessante é
> que
> > é
> > > > > somente o usuário clicar no botão alterar do produto, que já trava
> o
> > > > > registro...
> > > > >
> > > > > Pois bem, no meu botão alterar faço isso:
> > > > >
> > > > > TbPrincipal.Close;
> > > > > TbPrincipal.ParamByName('PCODIGO').AsInteger := CÓDIGO_DO_PRODUTO;
> > > > > TbPrincipal.Open;
> > > > > TbPrincipal.Edit;
> > > > >
> > > > > O usuário não deu o Commit e nada...
> > > > >
> > > > > Pois bem, alguém teria alguma solução para isso? Tô esquentando a
> > mufa
> > > > > aqui
> > > > > e nada....
> > > > >
> > > > > Ah.. to usando IBX, e todas as transactions estão como
> ReadCommited.
> > > > >
> > > > > Desde já agradeço.
> > > > >
> > > > > --
> > > > > _________________________________
> > > > > T.·.F.·.A.·.
> > > > > Fellipe Henrique
> > > > > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  
> > > > > <fellipeh%40gmail.com> <mailto:
> fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com> <fellipeh%40gmail.com>
> <mailto:
> > fellipeh%40gmail.com> <fellipeh%40gmail.com> <mailto:
> fellipeh%40gmail.com>
> > > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > > > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > _________________________________
> > > > T.·.F.·.A.·.
> > > > Fellipe Henrique
> > > > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> > > > <mailto:
> fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com> <fellipeh%40gmail.com>
> <mailto:fellipeh%40gmail.com>
> > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > > --
> > > _________________________________
> > > T.·.F.·.A.·.
> > > Fellipe Henrique
> > > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> > > <mailto:fellipeh%40gmail.com>
> <mailto:fellipeh%40gmail.com> <fellipeh%40gmail.com> <mailto:
> fellipeh%40gmail.com>
> > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > _________________________________
> > T.·.F.·.A.·.
> > Fellipe Henrique
> > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> > <mailto:fellipeh%40gmail.com>
> <mailto:fellipeh%40gmail.com> <fellipeh%40gmail.com> <mailto:
> fellipeh%40gmail.com>
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> _________________________________
> T.·.F.·.A.·.
> Fellipe Henrique
> [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> <mailto:fellipeh%40gmail.com>
> <mailto:fellipeh%40gmail.com>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

-- 
_________________________________
T.·.F.·.A.·.
Fellipe Henrique
[EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> 

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a