Fórum Autoinc com registros iguais?! #299004

10/10/2005

0

Oi, pessoal... desculpa mesmo criar esse tópico, sei que já existe bastante material sobre banco Paradox, mas não consegui achar nada do gênero. Vou tentar explicar todo o sistema direitinho, se alguém puder me ajudar agradeço muito!

Bom, é o seguinte. Tenho uma tabelinha Paradox chamada CLIENTES, onde tenho um campo (CODIGO) do tipo Auto-Incremento. Ocorre que outro dia estava usando uma rotina que localiza o cadastro pelo código e encontrei dois registros com o mesmo número...

O sistema funciona em rede: o servidor e três estações. Pesquisei aqui no fórum e usei aquelas dicas que o pessoal sempre dá: Local Share True no server, False nas estações, Paths apontando direitinho, o programa está rodando sem maiores problemas.

Vale lembrar que, embora o campo seja autoincremento, ele não é chave primária (ainda). Se eu tento mudar para chave primária, ele não deixa, por causa dos registros iguais (o Database Desktop me retorna uma Key Violation). Porém, em breve, o campo CODIGO vai ter que ser alterado porque eu vou implantar o sistema de vendas e controle de estoque...

Minhas dúvidas:
1) Como pode o banco gerar registros repetidos em campos autoincremento?
2) Como eu faço pra arrumar os campos que já estão com códigos iguais?
3) Quando eu alterar o campo para chave primária, o erro pode continuar acontecendo?
4) Essa é mera suposição, estou apenas antevendo algo que pode acontecer. Digamos que eu consiga arrumar os campos que já estão com problemas, e que eu altere o campo para chave primária. Futuramente, o banco pode me dar esse problema de novo? Se sim, isso vai jogar uma Key Violation pro usuário, certo? Como a gente trata esse erro, o usuário vai ter que começar o cadastro todo de novo?

Desculpem pelo post longo... Desde já, obrigado! ^^


Rafaelpuff

Rafaelpuff

Responder

Posts

11/10/2005

Vinicius2k

Colega,

1. Não pode. Mas é paradox neh?... :roll:
2. Recrie a tabela vazia, dê um ´Pack´ na tabela antiga e importe seus dados para a nova.
3. Não pq ele irá gerar ´Key Violation´.
4. Sim, vc, provavelmente, terá este problema novamente. Sim, o usuário receberá um erro. Não, necessariamente, ele terá que refazer o cadastro. Terá que tentar salvar o registro novamente, mas ele *pode* ficar ´emperrado´ no ´Key Violation´ e ser obrigado a fechar tudo e começar outra vez e ´rezar´ para que na próxima tentativa ele consiga.

Existem alguns tópicos no fórum sobre configuração da BDE. Especialmente, procure pelos escritos pelo colega ´bacalhau´. Estes tópicos, com certeza, poderão lhe ajudar mais que eu.

T+


Responder

Gostei + 0

11/10/2005

Silviogs

Olá amigo

não querendo colocar ´água no seu angú´ mas paradox não é um banco de dados é um mero e simples gerenciador de arquivos, quando se fala em banco de dados citamos Firebird, Interbase, PostgreSQL, MSSQL, Oracle etc. Para maiores informações sobre banco de dados pesquise aqui no forum pois existem vários tópicos a respeito. Aconselho migrar seu sistema para algum banco de dados free como Firebird, Interbase, PostgreSQL. No meu caso já trabalhei com Firebird, Interbase e agora adotei de vez o PostgreSQL por existir grandes diferenças para os demais.

Um tópico recente:

vejam este link.

http://forum.clubedelphi.net/viewtopic.php?t=68924&highlight=

Dependendo da situação do cliente, qual o banco de dados que roda em:
Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, SunOS, Tru64), BeOS e Windows além do postgreSQL?.

Para maiores informaões vejam este link:

http://www.postgresql.org/about/

Obs: para o acesso ao PostgreSQL use Zeoslib 6.5.1 www.sourceforge.net pois este componente funciona para Delphi 5-6-7-8-2005, Kylix 2-3, Lazarus Win32-Linux tudo isto testado por mim e funcionando. Há lembrando que estou testando com Apache e PHP.

Atenciosamente

Silvio Guedes


Responder

Gostei + 0

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

Aceitar