Fórum Inner Join em ClienteDataSet???????? #163171
28/05/2003
estou utilizando o ClientDataSet para gravar os dados, mas acontece que tenho um campo que nao pertence a tabela que estou gravando, este campo eu puxei com um inner join. Como faço para que o ClientDataSet nao tente gravar ou alterar este campo na Tabela. :? :cry:
Posts
Abra o Field Editor do SQLDataSet / SQLQuery. Configure a propriedade ProviderFlags.pfInUpdate para False dos campos que não devem ser atualizados. Depois, troque a propriedade UpdateMode do DataSetProvider para upWhereKeyOnly
e se eu estiver usando o SimpleDataSet do delphi? tem como fazer??
Sim, dá um clique de direita nele e escolha ´Edit internal DataSet´
eu ja fiz isto. so que fiz depois que ja tinha editado os fields normal. mas ai é que esta a dúvida onde eu mexo nos fields no edit internal ou edit fields normal?? o erro e o seguinte ´column unknown NomedoCampo´
Os providerFlags devem ser configurados no DataSet interno
so mais uma coisa e a configuração do DataSetProvider que voce citou acima? Eu nao Utilizo DataSetProvider bom pelo menos dizem que o simpleDataSet tem os tres componentes em um so.Onde estao as configurações do Provider.
Acho que o SimpleDataSet não publica as prop. do DSP. Mesmo assim, só as configurações dos providerflags deve resolver
guinther tem certeza que isto funciona no SimpleDataSet? Voce ja Fez algum Teste? :cry:
Até onde sei a questão dos ProviderFlags foi uma das melhorias implementadas no SimpleDataSet em relação ao SQLClientDataSet, que foi descontinuado no D7. Para ter certeza, basta utilizar um TSQLMonitor do dbExpress e verificar a instrução SQL que está sendo gerada.
Atenciosamente
Guinther