Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aureo2006

Não consigo gravar no BD numeros do format

Recommended Posts

Eu tenho uma caixa de texto que formata o número que eu digito e compelta os zeros a esquerda desse numero para que ele fique com 6 algarismos. Uso a seguinte sintaxe:

txtFields(2).Text = Format(txtFields(2).Text, "000000")
No formumario da tela tudo bem. Ele aparece como deveria aparecer. Porém, na hora de inserir o número no Banco de dados (Firebird), o numero volta a ter o formato original. Ou seja, se o numero era o "12", que na caixa de texto estaria "000012", no banco de dados é inserido somente o numero "12". O Campo no Firebird é integer. O que pode provocar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha .... creio que isso não tem solução .... Não é problema do Firebird .... uso banco SQL Server aqui no serviço .... campos como CEP (05445030) ou até outros campos que começam com zero não são salvos com 0 na frente ...... o Banco de Dados ignora os zeros pelo fato que Zero a esquerda não significa nada ..... No MySQL e no Oracle não sei se acontece ... mas tenho quase certeza que sim ...O que voce pode fazer é salvar o 000012 (no banco de dados vai salvar 12) e na hora de recuperar voce formatar o numero para aparecer da forma correta (000012) .....Outra solução é colocar o campo como String ... mas acho isso uma gambiarra e das feias ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

As informações ajudaram. Eu resolvi meu problema de outra forma. O campo que eu gostaria que fosse guardado no BD com zeros a esquerda, geraria etiquetas de códigos de Barras. Não me agradava que o código tivesse numeros com 3 algarismos e mais adiante outros com 3 ou 5 etc. com a função format eu geraria um numero com 6 algarismos. 999.999 seria o limite para estra modelagam, o que seria mais do que suficiente para o projeto em desenvolvimento. Pois bem. Eu decidi acrescentar na função format o numero 1 antes dos 6 zeros. Com isso, ele grava 1000012, por exemplo. Como não há previsão de que no banco de dados tenha mais do que 10 mil regitros ao longo de muitos anos, não terei problema em resolver dessa forma o problema que coloquei no iníco. Valeu pelas sugestões. Elas ajudram.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.