applyupdate() com clientdataset e datasetprovider

Delphi

05/02/2008

Utilizo o Delphi 7 com firebird2.0.
Tenho um SqlDataSet ligado a um DataSetProvider que é ligado a um ClientDataSet.
Os campos estão incluidos no ClientDataSet.
No providerflags do campo que é chave primária tem pflnUpdate,pflnWhere e pflnKey como true, e o pflnHidden como false, e o a propriedade Required é false. Nos demais campos tá tudo false com excessão do pflnUpdate.
No DataSetProvider o UpdateMode está como UpWhereKeyOnly.
Mesmo assim no evento afterposto do ClientDataSet, ao chamar o ApplyUpdates(0) vem o erro ´Unable to find record. No key especified´.
Só dá certo se quando eu mudo o UpdateMode do DataSetProvider para UpWhereAll.
O que será que está faltando?


Catunda

Catunda

Curtidas 0

Respostas

Catunda

Catunda

05/02/2008

ah... esqueci de mencionar que o erro só acontece quando tento alterar o registro.
Na inclusão não apresenta erro.


GOSTEI 0
Fausto.malheiros

Fausto.malheiros

05/02/2008

tem um monte de gente que as vezes se atrapalha na hora do apply...inclusive. Qual é a forma correta de se fazer isso?


GOSTEI 0
Joaoshi

Joaoshi

05/02/2008

Colega, tente incluir os campos no [b:a420a081f0]SqlDataSet[/b:a420a081f0] e configurar os [b:a420a081f0]ProviderFlags[/b:a420a081f0] (do SqlDataSet).

Espero ter ajudado.


GOSTEI 0
POSTAR