Fórum DataSetProvider - poAllowMultiRecordUpdates #404142

01/07/2011

0

Qual função desta propriedade ? Procurei porém não achei nada sobre o assunto !
Ronaldo Lanhellas

Ronaldo Lanhellas

Responder

Posts

02/07/2011

Marco Salles

Qual função desta propriedade ? Procurei porém não achei nada sobre o assunto !


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/


Responder

Gostei + 0

02/07/2011

Ronaldo Lanhellas

 Li todo a thread e gostei muito , tenho que confessar que minha ideia sobre o poAllowMultRecordUpdates era outra, mais depois deste Post irei ter muito mais cuidado ao utilizá-lo em minhas aplicações.
Responder

Gostei + 0

02/07/2011

Ronaldo Lanhellas

obs: entendi também que se você estiver utilizando um providerFlag UpdateWhereKeyOnly não tem perigo de duplicar registros, afinal estamos trabalhando com chave primária.
Responder

Gostei + 0

02/07/2011

Marco Salles

obs: entendi também que se você estiver utilizando um providerFlag UpdateWhereKeyOnly não tem perigo de duplicar registros, afinal estamos trabalhando com chave primária.



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


Responder

Gostei + 0

02/07/2011

Ronaldo Lanhellas

perfeito !!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar