Fórum With Lock no clientdataset #443947

25/05/2013

0

Como posso impedir dois usuários acessarem um registro ao mesmo tempo com with lock com clientdataset?

Desde já agradeço.
Rosinaldo Dias

Rosinaldo Dias

Responder

Posts

25/05/2013

Marco Salles

Qual a tecnologia que vc esta utilizando ????

DBX ???
Responder

Gostei + 0

25/05/2013

Rosinaldo Dias

delphi 2010 + firebird 2.5 + dbexpress
Responder

Gostei + 0

25/05/2013

Marco Salles

com vc esta configurando o providerDataFlags ? e o updateMode do DataSetProvider ????
Responder

Gostei + 0

25/05/2013

Rosinaldo Dias

eu já coloquei o updatemode para upWhereKeyOnly e configuerei o provideflags também
Responder

Gostei + 0

25/05/2013

Rosinaldo Dias

Na verdade eu precisava do passo a passo mais detalhado desde do select até o código do programa para bloquear o registro.

o meu programa é para agendamento de consultas e trabalha em rede. Preciso bloquear o registro para quando outro usuário tentar acessar o mesmo horário, apareça a mensagem dizendo que aquele horário esta sendo usado.

se puder me ajudar, agradeço muito.
Valeu.
Responder

Gostei + 0

26/05/2013

Marco Salles

tente configure o ProviderFlags do campo que vc quer o Bloqueio com a opção

ProviderFlags = [pfInUpdate, pfInWhere]

ps) No SqlDataset e no clientdataset
Responder

Gostei + 0

26/05/2013

Marco Salles

tente configure o ProviderFlags do campo que vc quer o Bloqueio com a opção

ProviderFlags = [pfInUpdate, pfInWhere]

ps) No SqlDataset e no clientdataset


ps) este bloqueio so será obersavado no ApplyUpdades e não simplesmente no Post Ok
Responder

Gostei + 0

27/05/2013

Rosinaldo Dias

Como posso capturar essa exceção de erro?


obrigado.
Responder

Gostei + 0

27/05/2013

Marco Salles

Procure por onEconcileError do clientdadatset ou pesquise no evento de UpdateError do respectivo datasetProvider

o Clientdataset não propaga exceção ...

qq dúvida volte a postar

[]sdç
Responder

Gostei + 0

27/05/2013

Rosinaldo Dias

Se eu travar o registro dando with lock será que eu perderei muito a performance do meu banco de dados ?

Responder

Gostei + 0

27/05/2013

Marco Salles

muito não .. Melhor que so seja o campo em questão e não todos os campos .. A performance cai pq a instrução sql gerada
para o bloqueio é maior
Responder

Gostei + 0

27/05/2013

Rosinaldo Dias

Muito obrigado pela ajuda. Se pintar alguma dúvida, eu posto pra vc novamente.

Que Deus te abençoe.
Responder

Gostei + 0

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

Aceitar