Record not found or changed by another user

06/01/2010

Olá,     Uso o Delphi 7 e o componente (sqlconnection)dbexpress - para conexão no banco de dados, qdo faço uma inclusão de dados usando o Client Dataset o programa me retorna a mensagem de erro  RECORD NOT FOUND OR CHANGE BY ANOTHER USER qdo aplico no banco, já tentei todos os metodos encontrados em forum como por exemplo alterar as propriedades dos campos para pfUpdate, o que mais eu poderia estar fazendo?       Aguardo retorno. Lira.
Edival Lira

Edival Lira

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

06/01/2010

Olá Amigo,

Esta mensagem é um recurso do CDS para poder tratar concorrencia de dados. Isso porque o CDS trabalha com dados em Memória e sendo assim precisamos ter um recurso para garantir integridade dos dados.

Uma das coisas para sanar este problema e fazer o CDS realizar o que chamamos de reconciler (reconciliação) somente pela chave primaria que não muda. Para isso selecione o DataSetProvider e vá na propriedade UpdateMode e mude para WhereKeyOnly. Não esquece de verificar nos fields se o campo chave esta marcado como pkKey.

No aguardo !!!

GOSTEI 0
Edival Lira

Edival Lira

06/01/2010

Olá,             neste caso em específico o DataSet Provider já está como upWherekeyOnly, o que mais você me recomenda?       Abraços. Lira.    
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

06/01/2010

Olá Edval,

Comportamento muito estranho. A principio todas as configurações estão corretas. Já tentou deletar os componentes e edicionar novos? Digo isso pois as vezes alteramos propriedades default que podem causar esses tipos de comportamentos.

Fico no afguardo !!!


Abs!!

GOSTEI 0
Edival Lira

Edival Lira

06/01/2010

Olá,          Foi a única coisa que não fiz ainda, vou fazer isto e te retorno.       abs.
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

06/01/2010

Olá Amigo, Alguma novidade.

O procedimento abaixo funcionou ??

No aguardo !!

Att,

GOSTEI 0
POSTAR