Fórum Paradox em Rede #168129

07/07/2003

0

Olá pessoal,

Estou com um probleminha em minha aplicação, todos os usuários estão acessando o mesmo registro, em rede.
Eu coloquei em meu formulário de cadastro o seguinte, no evento OnCreate:
-----------------------------------------------------------------------------------
DMDados.TBCadastro.FlushBuffers;
-----------------------------------------------------------------------------------


No evento OnEditError da tabela TBCadastro:
-----------------------------------------------------------------------------------
procedure TDMDados.TBCadastroEditError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
Var
wErro, wRet: Word;
begin
If E is EDBEngineError Then
Begin
wErro:=(E as EDBEngineError).Errors[1].ErrorCode;
If (wErro = 10241) Then
Begin
wRet:=Application.MessageBox(´Outro usuário está editando este registro!´+#13+´Tentar novamente?´,´ARENÇÃO´, MB_YESNO + MB_ICONQUESTION);
If wRet = IDYes Then
Action:=daRetry
Else
Action:=daAbort;
End;
End;

end;
-----------------------------------------------------------------------------------


E no evento OnPostErro da tabela TBCadastro:
-----------------------------------------------------------------------------------
procedure TDMDados.TBCadastroPostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
Var
ErroMens :String;
begin
ErroMens := E.Message;
if ErroMens = ´Key violation.´ then begin ShowMessage(´Duplicação na Chave Primária.´);
action := daAbort;
End;

end;
-----------------------------------------------------------------------------------

Mas só q se um usuário mandar editar um registro q já está sendo utilizado por outro a mensagem não aparece e este segundo usuário acessa tranqüilamente o registro.

O q mais posso fazer para q dois ou mais usuários não editem o mesmo registro?

Grato,

Ilano.


Ilanocf

Ilanocf

Responder

Posts

07/07/2003

Roberto_conetsys

Ola Ilano

Quem administra o acesso as tabelas em rede é o BDE, e realmente se voce estiver editando um registro em rede o BDE não permiti que seja editado por outro usuário.
Normalmente não é preciso tratar este erro, somente configurar o BDE adequadamente.


Responder

Gostei + 0

07/07/2003

Ilanocf

Olá Roberto,

Bem, peguei algumas dicas sobre como configurar o BDE em rede, veja se está faltando algo:

Após criar um Alias no primeiro computador (A) q será:

Juazeiro
Path: C:\Juazeiro\Dados

Vou para um segundo computador (B) e faço:
1º) Crio um Alias:
Juazeiro
Path: \\14dep03\c\Juazeiro\Dados *****Caminho para computador A
2º) Configuration / Drivers / Native / Paradox;
3º) NETDIR: \\14dep03\c\Juazeiro\Dados
4º) Configuration / Drivers / Native / System / INIT;
5º) LOCAL SHARE: True.

Não precisei colocar as tabelas no computador B pois o B está em rede com o A, certo?

Existe algo mais a fazer?


Responder

Gostei + 0

07/07/2003

Helderjr

Ilano,

Só verifique uma coisa, o Local Share=True somente no servidor (Micro A ) os demais Local Share = False.


Responder

Gostei + 0

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

Aceitar