Fórum DataSetProvider - poAllowMultiRecordUpdates #404142
01/07/2011
0
Ronaldo Lanhellas
Curtir tópico
+ 0Posts
02/07/2011
Marco Salles
Não tinha . Agora tem.. Ve se ficou legau ?
http://marcosalles.wordpress.com/2011/07/02/para-que-serve-a-opcao-poallowmultirecordupdates-da-propriedade-options-do-tdatasetprovider/
Gostei + 0
02/07/2011
Ronaldo Lanhellas
Gostei + 0
02/07/2011
Ronaldo Lanhellas
Gostei + 0
02/07/2011
Marco Salles
Hummm , veja o select abaixo
Select CampoChavePrimaria , outrocampo From tabela
updateMode: upWhereAll .. Não haverá duplicação .. pois todos os campos sao envolvidos na localização . Como não há dois campos " CampoChavePrimaria" iguais , mesmo sendo o updateMode configurado como upWhereAll , nunca a exceção será disparada se o poAllowMultiRecordUpdates estiver em false
updateMode: upWhereChanged .. Pode ocorrer duplicação ( exceção será pu não disparada se poAllowMultiRecordUpdates estiver em false )
updateMode: upWhereKeyOnly ... Não haverá .. Pois so o campo chave participa do Sql resolvido pelo Provider
Mas olha so . A configuração do updateMode juntamente com as configurações do provider flags È MAIS do que o fato
de usar ou não o poAllowMultiRecordUpdates setado em true .
Ja vi um outro tópico seu que parece que vc estava meio confuso neste quesito . Não esqueça que algumas vezes vc tem
concorrência de acesso a um mesmo registro por clientes diefrentes ( seje em rede , client/Servidor , DataSnap ), Pode
simular isto executando duas copias do mesmo aplicativo e tentando alterar o mesmo registro ( não esqueca de dar o
applayUpdates para persirtir ) . Depedendo de como esta configurado o updatemode e o providerflages dos tfields vc
não conseguira aplicar as atualizaões ( programe o evento onreconcileError para ver isto)
ps) tô levantando esta situação , para NÂo deixar todo o vinculo do updateMode com o poAllowMultiRecordUpdates . São
partes de um mesmo quebra cabeça e é um conjunto . Tem que serem intendidos de forma separadas
Gostei + 0
02/07/2011
Ronaldo Lanhellas
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)