Fórum Delphi e ADO #164456
04/06/2003
0
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.
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
Curtir tópico
+ 0
Responder
Posts
04/06/2003
Ramerhy
Não sei o que você está utilizando, se é o ADOTable ou ADOQuery, mas talvez isso resolva:
Vá até os campos (fields) do objeto que você usa (ADOQuery, por exemplo).
Marque os campos que são chave primária (tanto da tabela pedido quanto a de itens).
Vá na propriedade ProviderFlags e marque pfInKey para true.
Acho que deve resolver.
Abraços,
Romulo.
Vá até os campos (fields) do objeto que você usa (ADOQuery, por exemplo).
Marque os campos que são chave primária (tanto da tabela pedido quanto a de itens).
Vá na propriedade ProviderFlags e marque pfInKey para true.
Acho que deve resolver.
Abraços,
Romulo.
Responder
Gostei + 0
05/06/2003
Gwglauber
Obrigado por ter respondido.
Mas, como faço para utilizar o TADOQuery como uma Tabela, inserindo, alterando ou excluindo registros?
Obrigado.
Mas, como faço para utilizar o TADOQuery como uma Tabela, inserindo, alterando ou excluindo registros?
Obrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)