Fórum Couldn´t perform the edit becauseanotheruserchangedtherecord #226987

19/04/2004

0

´Couldn´t perform the edit because another user changed the record´
Estou desenvolvendo uma aplicação Delphi + MS SQL 2000 e tenho visto que muitas pessoas passam por esse erro, mas não acho muitas soluções na Net. Preciso resolver isso rapidamente, mas não estou conseguindo.
Se alguém puder me ajudar, agradeço...
Obs: consigo gravar novos registro mas nao consigo editar os existentes.

Obrigado, pessoal!
Fábio


Fbiocorrea

Fbiocorrea

Responder

Posts

20/04/2004

Bon Jovi

Está usando ClientDataSet? Se for:

1 - Verificar se os provider flags dos TFields estão configurados corretamente, ou seja, especificar o(s) campo(s) que faz(em) parte da chave primária no banco de dados.

Exemplo, onde ID_CLIENTE é chave primária:

object ClientDataSet1: TClientDataSet
  object ClientDataSet1ID_CLIENTE: TIntegerField
    FieldName = ´ID_CLIENTE´
    ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
  end
  object ClientDataSet1NOME_CLIENTE: TStringField
    FieldName = ´NOME_CLIENTE´
    ProviderFlags = [pfInUpdate]
    Size = 50
  end
end


2 - No TDataSetProvider é mais otimizado trabalhar com UpdateMode := upWhereKeyOnly, evitando que a cláusula WHERE fique suja.


Responder

Gostei + 0

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

Aceitar