imprimir número sequencial
Boa tarde pessoal.Sou novo por aqui... :D
Bom, eu gostaria de uma ajuda, idéia, o que seja, tenho um problema assim:
Eu tenho um soft que fiz que ele imprimi um número em sequencia em uma impressora dessas de cupom, esses números antes de serem impressos ele são salvos em um BD ( firebird ), só para isso tenho o BD.Ou seja, eu guardo ele no bd e quando for para imprimir ele é pego no bd e impresso, depois adicionado + 1 para ser salvo no bd, e dpois imprimir novamente de novo.assim:
Fiz desse jeito, mas teriam outros modos...
Agora o problema é que eu vou ter que usar duas impressoras, em duas máquinas diferentes, e eu quero colocar em rede as duas para que elas trabalhem juntas, porém é claro sem repetir o número, para agilizar nesses números sequÊncias ( são números de protocolação de documentos para advogados ), como eu posso fazer isso, pois tentei de vários modos e as vezes acaba repetindo, se alguém ouder me ajudar...
Obrigado! :D
Bom, eu gostaria de uma ajuda, idéia, o que seja, tenho um problema assim:
Eu tenho um soft que fiz que ele imprimi um número em sequencia em uma impressora dessas de cupom, esses números antes de serem impressos ele são salvos em um BD ( firebird ), só para isso tenho o BD.Ou seja, eu guardo ele no bd e quando for para imprimir ele é pego no bd e impresso, depois adicionado + 1 para ser salvo no bd, e dpois imprimir novamente de novo.assim:
BD <- 0 Número 0 ---> Impresso no papel BD <- +1 BD=1
Fiz desse jeito, mas teriam outros modos...
Agora o problema é que eu vou ter que usar duas impressoras, em duas máquinas diferentes, e eu quero colocar em rede as duas para que elas trabalhem juntas, porém é claro sem repetir o número, para agilizar nesses números sequÊncias ( são números de protocolação de documentos para advogados ), como eu posso fazer isso, pois tentei de vários modos e as vezes acaba repetindo, se alguém ouder me ajudar...
Obrigado! :D
Fabiorubim
Curtidas 0
Respostas
Edilcimar
12/03/2008
use um campo autoincremento como chave primária
GOSTEI 0
Fabiorubim
12/03/2008
Mas e se os dois software lerem ao mesmo tempo o número do último registro, ai eles irão imprimir o mesmo número....como posso barrar isso....
GOSTEI 0
Edilcimar
12/03/2008
se fizer do jeito que disse não haverá duplicidade de número
GOSTEI 0
Paulo
12/03/2008
Vejo que o seu problema não é gerar o número, mas sim, imprimir e duas impressoras, numeros distintos. É complicado, pois a fonte de impressão é a mesma, ou seja, a mesma tabela do BD e se você der um while e print, vão imprimir as mesmas coisas. O certo seria tentar pegar o IP de cada máquina onde está a impressora e selecionar por Impar ou Par o numero do registro. Posso até tá viajando, mas foi o que me veio agora na mente, se é que eu entendi bem. Se for IP = 10, dá um [color=red:1c8bd2e773]ODD[/color:1c8bd2e773], se não um [color=red:1c8bd2e773]NOT ODD[/color:1c8bd2e773]. Se não for isso, me desculpe, mas entendi mal. T+
GOSTEI 0
Macario
12/03/2008
Olá.
Voce devera usar controle transacional.
8)
Voce devera usar controle transacional.
8)
GOSTEI 0
Fabiorubim
12/03/2008
Então Edilcimar, haverá sim, pq é na impressão o problema, como o Paulo falow.A idéia que o Paulo deu é interessante, vou pesquisar sobre controle transacional como o Macario disse, mas se for o que eui estou pensando a idéia do Paulo vai ajudar.
Obrigado pessoal.
Obrigado pessoal.
GOSTEI 0
Edilcimar
12/03/2008
O que o paulo falou, só serve se tiver 2 computadores, se tiver 3 ou mais já não dá.
Se vc pegar um computador, fizer um incremento e neste exato instante pegar este número, mesmo que outro usuário venha a fazer a mesma coisa ele já será para este outro usuário um outro número
Se vc pegar um computador, fizer um incremento e neste exato instante pegar este número, mesmo que outro usuário venha a fazer a mesma coisa ele já será para este outro usuário um outro número
GOSTEI 0