Fórum Codigo seq em rede #229778

04/05/2004

0

Pessoall,

naum sei o q acontece, mas tenho uma tabela q controla o numero sequencial de meus pedidos ... enqto esta rodando em uma unica maquina .. nao tinha problemas .
Agora coloquei em rede o sistema e nao consigo fazer esse controle, pois qdo um estacao entra eu pego o numero da tabela, a segunda estacao entra ela pega o mesmo numero q ja foi utilizado... !!!!

O mais interessante q eu dou um POST na tabela de sequencia e mesmo parece q naum atualiza nas estacoes ...

Como eu corrigo isso ?

para esse sistema uso Paradox.

Obr
Marcel


Scandolara

Scandolara

Responder

Posts

04/05/2004

Igor

Caro Colega....

Eu não sei como vc está gerando o código sequencial... Se é atravéz de uma Query (SelectMax...) ou atravéz de um Table....

Eu sempre mando gerar este sequencial, momentos antes de gravar o registro, ou seja, eu utilizo o meu código de autoincrememto no evento BeforPost do Componente....

Funciona bleza...


OK?


Responder

Gostei + 0

04/05/2004

Scandolara

amigo,

eu gero o codigo por uma table .. e mando gerar antes de incluir, para q assim o usuario veja o codigo do pedido e alem de que estou utilizando 3 tabelas relacionadas entre elas com Master e Detail

se eu usar essa forma q vc mencionou, naum vai dar pau ?

obr


Responder

Gostei + 0

04/05/2004

Silviogs

Olá amigo,

a forma mais eficaz que encotrei para solucionar este problema foi utilizar uma stored procedure:

CREATE PROCEDURE gera_pedido
@Filial tinyint,
@Retorno INTEGER OUTPUT
AS
BEGIN TRANSACTION
UPDATE PArametros_Filial WITH (tablockx)
SET ultimo_pedido = ultimo_pedido+ 1
WHERE Filial = @Filial
SELECT @retorno = ultimo_pedido FROM Parametros_Filial WHERE Filial = @Filial
COMMIT TRANSACTION
GO

Atenciosamente,


Silvio Guedes.


Responder

Gostei + 0

04/05/2004

Adilsond

Voce deverá dar um DBISaveChanges para efetivar a inclusão da tabela do sequencial logo após pegar o novo sequencial e incrementa-la.


Responder

Gostei + 0

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

Aceitar