Fórum Cached Updates not enabled #269380

20/02/2005

0

Olá,

Quando tento editar algum registro na tabela (interbase), dá o seguinte erro ´Cached Updates not enabled´

Estou utilizando IBDataSet, IBTransaction.

Não quero que os dados fiquem em cache, mas sim que sejam alterados diretamente na tabela após o Post.

Tentei o seguinte:

  Dados.IBDataSet.Post;
  Dados.IBdataSet.ApplyUptades;


...e também:

  Dados.IBDataSet.Post;
  Dados.IBDataSet.Transaction.Commit;


Sempre dá erro ao tentar atualizar.
Há alguma coisa que estou esquecendo? Alguém sabe o que pode ser?

Valeu... :D


Ricardo.vano

Ricardo.vano

Responder

Posts

21/02/2005

Gandalf.nho

Você só deve usar ApplyUpdates se estiver com o Cache acionado. Se não, basta o Post e comitar a transação.


Responder

Gostei + 0

21/02/2005

Ricardo.vano

Sem ApplyUpdates tentei isto:

  Dados.IBDataSet.Post; 
  Dados.IBDataSet.Transaction.Commit;


E o problema persiste. Só não consigo editar. Adicionar novos registros e apagar existentes funciona normalmente.


Responder

Gostei + 0

21/02/2005

Gandalf.nho

Você preencheu corretamente a propriedade ModifySQL?


Responder

Gostei + 0

21/02/2005

Ricardo.vano

usei o dataset editor do próprio DataSet e ficou assim:

update CLIENTES
set
  BAIRRO = :BAIRRO,
  CELULAR = :CELULAR,
  CEP = :CEP,
  CIDADE = :CIDADE,
  COD_CLIENTE = :COD_CLIENTE,
  COMPLEMENTO = :COMPLEMENTO,
  CPF = :CPF,
  CTPS = :CTPS,
  DATA_NASCIMENTO = :DATA_NASCIMENTO,
  EMAIL = :EMAIL,
  ENDERECO = :ENDERECO,
  ESTADO = :ESTADO,
  ESTADO_CIVIL = :ESTADO_CIVIL,
  NOME = :NOME,
  PROFISSAO = :PROFISSAO,
  REL_ATENDIMENTO = :REL_ATENDIMENTO,
  RG = :RG,
  SERIE = :SERIE,
  TELEFONE = :TELEFONE
where
  BAIRRO = :OLD_BAIRRO and
  CELULAR = :OLD_CELULAR and
  CEP = :OLD_CEP and
  CIDADE = :OLD_CIDADE and
  COD_CLIENTE = :OLD_COD_CLIENTE and
  COMPLEMENTO = :OLD_COMPLEMENTO and
  CPF = :OLD_CPF and
  CTPS = :OLD_CTPS and
  DATA_NASCIMENTO = :OLD_DATA_NASCIMENTO and
  EMAIL = :OLD_EMAIL and
  ENDERECO = :OLD_ENDERECO and
  ESTADO = :OLD_ESTADO and
  ESTADO_CIVIL = :OLD_ESTADO_CIVIL and
  NOME = :OLD_NOME and
  PROFISSAO = :OLD_PROFISSAO and
  REL_ATENDIMENTO = :OLD_REL_ATENDIMENTO and
  RG = :OLD_RG and
  SERIE = :OLD_SERIE and
  TELEFONE = :OLD_TELEFONE


Será que eu deveria configurar somente a chave primária??


Responder

Gostei + 0

21/02/2005

Ricardo.vano

Ah..agora funcionou...no data set editor eu não havia definido a chave primária!!

Muito obrigado pela ajuda...valeu mesmo !! :lol:


Responder

Gostei + 0

05/10/2020

Fábio Hummel

Tem um jeito mais simples de resolver isso que pode funcionar !

é só ir na sua TFDQuery e passe o parâmetro da propriedade CachedUpdates, para True.
Responder

Gostei + 0

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

Aceitar