Eu tenho este metodo para inserir um cliente no banco de dados, todavia, o CPF esta sendo pego de um campo de texto da biblioteca Swing e esta dando erro, como eu posso arrumar ou transformar esse campo em inteiro para poder envia-lo ao banco de dados?
O erro pode estar sendo ocasionado por causa da mascara colocada no txtField?
Primeiro CRUD que tento fazer, desculpe se alguma pergunta soar idiota.
S
staroski
CPF não pode ser campo inteiro.
Um CPF pode começar com zero e tipos númericos não tem zeros à esquerda.
A
AndreLuiz99
Eu tentei converter para um double mas também deu um erro, nesse caso eu uso o Tipo String mesmo tanto no banco quanto no Java, ou teria algum outro jeito de fazer a conversão?
S
staroski
Pôxa, double também é um tipo numérico.
Um CPF não é um campo numérico, pois ele pode começar com zero.
Um CPF é String.
H
Solucao aceita
hugokotsubo
Não converta
Como já disseram, CPF não é um número. Você não faz operações matemáticas com o CPF, ele não representa uma quantidade, nem nada disso.
O CPF é uma informação descritiva: é um identificador que por acaso usa dígitos. Mas ele não é um número, e não deve ser tratado como tal.
Um dos motivos principais (não é o único) é que ele pode começar com zero. Mas números não são assim, então se você tiver uma string como “012345678” e converter para número (seja int, double, ou o que for), ele se transforma em 12345678. E remover este zero da frente pode ter consequências graves no mundo real.
Enfim, não converta, deixe-o como String no Java (e no banco, como VARCHAR). Leia mais sobre o assunto aqui.