Eu uso adoquery para acessar e escrever dados no banco.
Nao preciso me preocupar com o acesso para gravação. Basta uma rotina tipo:

var: conta: integer;
      gravou: boolean;
conta:=1;
gravou:=false;
while (conta<50) and (gravou=false) do
begin
  try
    adoquery.post;
    gravou:=true;
  except
    conta:=conta+1;
  end;
if gravou=false then 
begin
  // coloca rotina para dizer ao usuario que o registro no foi salvo. tente 
novamente
end;
end

Esta rotina tenta gravar 50 vezes o registro. Portanto, se em um determinado 
momento alguem estiver gravando no registro, ele vai dar um erro e tentar de 
novo. Se o erro acontecer 50 vezes ele dá uma mensagem pro usuário.
Faço assim e tem funcionado bem


Atenciosamente,

Émerson R. Cavallari
Analista de Sistemas
Chefe da Seção Técnica de Informática
PCARP / USP
  ----- Original Message ----- 
  From: Gabriel Herdt 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, September 21, 2006 10:06 AM
  Subject: [delphi-br] Como Tratar Multi-Usuarios?


  Uma duvida que sempre tenho é em relação a Multi-Usuarios usando a 
  mesma Form,Tabela,Datset. Como se efetua esse tratamento de problema 
  de concorrencia? tem alguma configuração no banco oracle para os 
  usuarios que estiverem gravando entrarem em uma fila, porque nos teste 
  que nos fiz simpliesmente aparece uma mensagem dizendo que já existe 
  um usuario utilizando.
  Como tratar isso?

  Obs: Utilizo Delphi 2005, oracle 10g2 e o Componente 
  Direct Oracle Access (DOA)

  Desde Grato






   

------------------------------------------------------------------------------
  I am using the free version of SPAMfighter for private users.
  It has removed 319 spam emails to date.
  Paying users do not have this message in their emails.
  Try SPAMfighter for free now!


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a