添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

ola pessoal, seguinte:

tenho um aplicação com banco de dados Firebird feito no IBExpert e uso os seguintes componentes para acessar

SQLConnection1

SQLQuery1

DataSetProvider1

ClientDataSet1

DataSource1

e uso esse código para postar um registro

ClientDataSet1.Post;
ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;

toda vez que tento postar, mostra esse erro

ClientDataSet1: Must apply updates before refreshing data.

vi na net que esse problema acontece quando tenta

dar um refresh antes de aplicar, mas esse não é o caso.

alguém pode me ajudar?

Error: Must apply updates before refreshing data.

Erro: Tentando aplicar atualizações antes de refrescar os dados

Voce deve alterar as propriedade do DataSetProvider1 para solucionar o problema

em Options do DataSetProvider

poAllowMultiRecordUpdates = True

Enables individual updates that affect multiple records. When poAllowMultiRecordUpdates is not included, updates that change multiple records are automatically aborted.

poAutoRefresh = True

Refreshes the client dataset with current record values whenever it applies updates.

e use

ClientDataSet1.ApplyUpdates(-1);

abraço

ClientDataSet1.ApplyUpdates(-1);

qual é a diferença do (-1) e (0)?

function ApplyUpdates( MaxErrors: Integer); Integer; virtual;

MaxErrors indica o número de máximo de erros que o provedor deveria permitir antes de parar a operação de atualização prematuramente.

MaxErrors fixo para –1 é usado para indicar que não há nenhum limite ao número de erros.

Qualquer outro numero estará indicando a quantidade de erros permitidos em uma operação de atualização de dados

abraço