Record used by another user

09/04/2003

0

Gente meu sistema está compartilhado em rede.. Queria colocar outra mensagem sem ser essa ´RECORD USED BY ANOTHER USER´.. Peguei um código para ser colocados no evento Onediterror das tabelas, para dar uma mensagem feita por mim, se der esse erro.. Só que no meu sistema tem muita tabela, gostaria de saber de vocês, se tem um jeito de eu colocar esse código uma vez só, e sempre q der esse erro ele chama o código.. Já ouvi falar de um componente chamado ApplicationEvents mas não sei como usá-lo.. Alguém me dê uma luz??? :D

:D Grata

Rafaela


Rafaela

Rafaela

Responder

Posts

09/04/2003

Rafaela

Ninguém?? :(


Responder

09/04/2003

Julienmurray

Menina, vc está usando autoincremento? :?:

:twisted: Julien ´murray´ :twisted:


Responder

09/04/2003

Rafaela

Sim...


Responder

09/04/2003

Julienmurray

O que está acontecendo então...

Por exemplo, cadastrei um cliente.

VC tem 3 computadores: o A, o B e o Server

O A e B são Terminais que acessam o servidor, até aí tudo bem..


Digamos que o A está acessando o Cliente de código 1 e o B também quer o código 1, o Que irá acontecer? ERRO !

Outra hipótese:

O A está Cadastrando um cliente de Código 5 e o B, por um acaso irá cadastrar um cliente de n° 5, o que dá? ERRO!

Este é o problema do autoincremento. A tabela está aberta e vc só poderá sair dela se vc salvar, já que como é imposto que não pode ser valor nulo.....

Uma sugestão(um pouco chatinha de fazer mas que com certeza não irá te dar yanata dor de cabeça) :

Crie sua propria rotina de auto incremento, aonde... se por exemplo o A e o B estiverem ao mesmo tempo cadastrando alguém, o que acontecerá, se vc fizer uma SQL que antes de salvar, como de ir ao banco e verificar o último registro salvo (select max(idCliente) from Cliente) , digamos assim ganha o terminal que cadastrar mais rápido o cliente, sem dar tantos problemas....

o auto incremento obriga vc a ficar ´plugado no banco´.... sacou menina? :wink:

:twisted: Julien ´Murray´ :twisted:

Hã, é muito difícil compartilhar um banco em rede?
Pode me ajudar? :mrgreen:


Responder

09/04/2003

Rafaela

Saquei menino!!! :D
Mas ainda preciso do código, para colocar depois de dar esse erro...

Uso D5 e paradox..

Bom para compartilhar o meu sistema eu tbm tava cheia de dúvida.. mas consegui... Primeiro configurei o InstallShield só com o EXE do meu sistema, sem as tabelas.. Depois coloquei minha base de dados no que seria meu ´servidor´.. Na máquina ´cliente´ mapeei o diretório do servidor onde estavam a base de dados.. Alterei no cliente, lá no BDE, guia configuration:
Vai no paradox e coloca no net dir a letra mapeada com o caminho para o servidor.
Vai no system/init e altera o local share para true..
Se o seu sistema tiver alias, configure o nome do alias e no path coloque a letra mapeada..

Só isso e funcionou..

Espero ter ajudado.......

T++....

Alguém tem mais alguma sugestão para a minha pergunta??

Rafaela


Responder

09/04/2003

Anonymous

se eu entendi bem você quer que esta mensagem seja passada em português para o usuário final sem precisar criar uma exception que faça isto.

Neste caso tem dentro da pasta onde esta instalado o delphi uma pasta chamada source\vcl

dentro desta pasta há vários *.pas e entre eles um chamado dbconsts.pas

ele contém inúmeras mensagens de erro que o sistema apresenta quando ocorre. Você pode traduzi-los para português e depois compilar este arquivo e copiá-lo para a pasta lib do delphi sobrescrevendo o .dcu existente lá.

Pode modificar qualquer mensagem porém não mexer na sua parametrização pois podem ocorrer erros graves depois.

Tem também um arquivo chamado consts.pas que tem quase todas as outras mensagens e captions dos buttons padrões que também podem ser alteradas.


Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar