Problemas com ClientDataSet

12/08/2004

1

Estou usando uma estrutura com DbExpress
com os seguintes componentes:
SqlQuery + DataSet Provider + ClientDataSet

No Sql do SqlQuery coloco a Seguinte Instrução:

Select * from tabela1
Left Outer Join Tabela2 on tabela2.Campo = Tabela1.Campo

Adiciono os campos ao ClientDataSet e até aí tudo certo.
Quando dou um ApplayUpdate (-1) começam os problemas.

Retorno com o erro de que um determinado campo não foi
encontrado e depois retorna erro de chave.

Alguém teria como me passar alguama dica ou solução para esse problema ???


Responder

Posts

12/08/2004

G1b4

Caro marcos.rio,
Creio eu que você está querendo fazer um Master/Detail. O erro ocorre porque a estrutura do master/detail que você tem que usar não é assim.
Isso que você fez, eu utilizo somente em consultas.

Espero tê-lo ajudado!!!


Responder

12/08/2004

Vinicius2k

Marcos,

Este erro é resultado de tentativa de atualização de um campo que não existe na tabela principal do Select e ocorre sempre em Joins, caso vc não informe ao Provider que este campo (o estrangeiro do Join) não deve ser atualizado...
Para isso sete a propriedade ´ProviderFlags -> pfInUpdate´ do TField ´estrangeiro´ no *ClientDataSet para ´False´...

* Esta é a solução teórica, mas apesar de nunca ter ocorrido comigo, já vi colegas relatando que tiveram que tomar a mesma providência no mesmo TField do SQLDataSet/SQLQuery...

Quanto ao erro de chave, pode, ou não estar atrelado à este... resolva este num primeiro momento e volte a postar a mensagem de ´erro de chave´ que vc tem, se persistir...

Espero ter ajudado...
T+


Responder

13/08/2004

Marcos.rio

Obrigado !


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira