IBX com ClientDataSet

Delphi

26/04/2006

Antes de comecar gostaria de esclarecer que pesquisei muito no forum sobre o assunto, e tentei
várias soluções/dicas que foram apresentadas, mas nenhuma surtiu efeito.
Trabalho com Delphi 7 e IB/FB, usando IBX + midas.
A ligacao no meu sistema é:
IBDataBase > IBTransaction > IBQuery > DataSetProvider > ClientDataSet > DataSource
Minha query busca dados de uma tabela principal, com juncoes (inner join) de outras tabelas,
e mais um campo calculado que coloquei apenas no ClientDataSet, sendo que tenho 3 campos como chave da
tabela principal e estes fazem parte da cláusula ´where´ da query.
Ao abrir o ClientDataSet não ocorre nenhum problema, traz todos os dados corretamente, mas ao salvar
o registro corrente, o método onReconcileError retorna o seguinte erro:
´Impossível reconhecer registros. Nome da tabela não encontrado´

Abaixo descrevo algumas propriedades dessas ligacoes:

query.cachedupdates = true
query.unidirectional = false

provider.options = [poAllowCommandText]
provider.updatemode = upWhereKeyOnly
provider.resolvetodataset = false

clientdataset.indexfieldnames = os 3 campos que fazem parte da chave da tabela principal


Na query e no clientdataset, as configuracoes dos campos sao as mesmas:

* Campos chave da tabela principal: providerflags = [pfInUpdate,pfInKey]
* Campos da tabela principal mas não são chave: providerflags = [pfInUpdate]
* Campos trazidos da juncao de outras tabelas: providerflags = []
* Campo calculado criado ´APENAS´ no clientdataset: providerflags = []

Alguém teria um link/exemplo de uma aplicacao (que esteja funcionando) e com as mesmas caracteristicas dessa
para poder comparar com a minha e tentar solucionar esse problema?

Obrigado.


Drf

Drf

Curtidas 0
POSTAR