Couldn´t perform the edit becauseanotheruserchangedtherecord

Delphi

19/04/2004

´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

Curtidas 0

Respostas

Bon Jovi

Bon Jovi

19/04/2004

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.


GOSTEI 0
POSTAR