Fórum atualização em programa rodando em rede. #185068

29/09/2003

0

Boa tarde a todos..
estou com mais um problema e queria a ajuda de vcs se puderem é lógico..
Estou fazendo um programa simples de controle de correspondencias expodidas, para controlar a numeração e para quem foi a correspondenicia além de quem mandou, mas que precisa rodar em rede ..

Uso o BD Msaccess.. e tenho os seguintes campos na minha única tabela
(Numeracao(chaveprimaria);data;rementente;destinatario)..
a numeração se dá da seguinte forma
001 - F/03
002 - F/03 //seria a numeraçao + F de fax + ano corrente..

para fazer isto eu pego o ultimo registro e adiciono copio de 1 a 3 e adiciono +1 +f/03.. é um modo precário..esta é minha primeira dúvida..
como seria um modo melhor??

O resto dos defeitos dele são os seguintes..

-> se duas pessoas tentarem incluir ao mesmo tempo.. dá erro de violação de chave.. pois a atualização no outro terminal só está acontecendo qdo eu abro e fecho o programa..

vcs podem me ajudar a arrumar este meu programa meia boca para ele ficar legalzinho..

obrigado pela ajuda.

Eric :oops:


Eric.miranda

Eric.miranda

Responder

Posts

29/09/2003

Marcelo.c

-> se duas pessoas tentarem incluir ao mesmo tempo.. dá erro de violação de chave.. pois a atualização no outro terminal só está acontecendo qdo eu abro e fecho o programa..


484 - Bloqueando um arquivo em ambiente de rede

Quando você programar visando uma rede e quiser bloquear um arquivo, é só chamar o metodo ´Edit´ da Tabela que estiver usando.

Exemplo:

Table1.edit;

Se o registro já estiver bloqueado, ocorrerá um erro, então você deve fazer o seguinte :

try { para verificar o erro } 
  Table1.edit; 
  exception on TDBEngineError do { o erro..} 
  MensageDlg(´Registro ja esta sendo usado...!´,mtInformation,[mbOk ],0 ); 
end; 


Obs.: Não use o DBNavigation


Responder

Gostei + 0

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

Aceitar