Delphi X ADO X SQL Server - Urgente.

Delphi

02/06/2003

Boa tarde.


Estou desenvolvendo um sistema usando ADO para acessar SQL Server mas estão acontecendo alguns problemas. Quando uma só máquina está trabalhando no sistema vai tudo bem, mas quando duas ou mais máquinas começam a trabalhar acessando as mesmas tabelas, quando dou um commit nas informações dá o seguinte erro: ´[b]Row cannot be located for updating some values may have been changed since it was last read[/b]´.
Tenho neste sistema uma tela de lançamento de pedidos. Quando inicio um novo pedido dou um BeginTransaction. Antes de passar para a tela de Itens de Pedido dou um post na de Pedidos e depois de lançar os itens dou um Commit. Só que, se duas máquinas estiverem trabalhando juntas, a primeira que acabar os itens do pedido e der commit consegue gravar, já o segundo dá o erro acima e perde o que digitou.
Existe alguma configuração no ADOConnection para solucionar este problema?
Já tenho ReadUncommited no ADOConncetion.

Desde já agradeço.


Gwglauber

Gwglauber

Curtidas 0

Respostas

Daniel Araújo

Daniel Araújo

02/06/2003

Vê se isso te ajuda Glauber:
http://www.vbforums.com/showthread.php?380384-RESOLVED-quot-Row-cannot-be-located-for-updating-quot-when-updating-db-recursively
GOSTEI 0
Felipe Morais

Felipe Morais

02/06/2003

Gwglauber,

Isto geralmente acontece porque a(s) sua(s) tabela(s) não contém chave primária. Caso exista, ela não está sendo especificada nas suas Queries.
Outra coisa, antes de chamar um BeginTransaction certifique-se que a transação anterior tenha sido comitada ou cancelada (Rollback).
Verifique e retorne pra gente, abraço!
GOSTEI 0
POSTAR