Gravar somente texto de um campo com mascara no banco

13 respostas
S

olá pessoal, é a primeira postagem minha aqui!

gostaria de saber como faço para gravar só os digitos de um campo com mascara
por exemplo
tenho um campo data que é formatado assim (//____), na instrução insert na hora de gravar
eu estou usando o nome do campo que seria data.gettext(), só que assim ele grava tudo até as barras.
quero saber como faço para gravar só os digitos da data…
desde já agradeço

13 Respostas

aeciovc

você pode dar um replace:

String novaString = getTextField().replace("/","");
S

Opa, obrigado deu certinho!

Viniciustelles

Opa, mas na hora de consultar os registros no banco ele volta certo no campo? formatado??

freakazoid

opa, caso a data esteja sendo armazenada como texto pode fazer alguma coisa +/- assim:

try {  
                    String teste="07/02/2012";  
                    SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");  
                    Date dataTemp= new SimpleDateFormat("dd/MM/yyyy").parse(teste);  //aqui vc pode editar a mascara conforme os dados foram armazenados.
                      
                    System.out.println(sdf.format(dataTemp));  
                } catch (ParseException e) {  
                    e.printStackTrace();  
                }
drsmachado
freakazoid:
Viniciustelles:
Opa, mas na hora de consultar os registros no banco ele volta certo no campo? formatado??

opa, caso a data esteja sendo armazenada como texto pode fazer alguma coisa +/- assim:

try {  
                    String teste="07/02/2012";  
                    SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");  
                    Date dataTemp= new SimpleDateFormat("dd/MM/yyyy").parse(teste);  //aqui vc pode editar a mascara conforme os dados foram armazenados.
                      
                    System.out.println(sdf.format(dataTemp));  
                } catch (ParseException e) {  
                    e.printStackTrace();  
                }
Quem seria idiota o suficiente para armazenar data como char/varchar? Com certeza o mesmo imbecil que precisa remover a máscara antes de salvar a data. Todo banco de dados de verdade possui tipos de dados que aceitam datas, horas e datas com horas. Com um pouco de paciência e vontade, pode-se converter a data inserida em um objeto compatível e fazer a coisa de forma correta. Salvar datas como string é, no mínimo, preguiça.
Rodrigo_Sasaki

drsmachado:
Quem seria idiota o suficiente para armazenar data como char/varchar? Com certeza o mesmo imbecil que precisa remover a máscara antes de salvar a data.
Todo banco de dados de verdade possui tipos de dados que aceitam datas, horas e datas com horas.
Com um pouco de paciência e vontade, pode-se converter a data inserida em um objeto compatível e fazer a coisa de forma correta.
Salvar datas como string é, no mínimo, preguiça.

Eu também não entendi, tudo fica muito mais simples se gravar no tipo certo.

E outra coisa, se for realmente gravar como varchar, pra que tirar a máscara? Essa seria a única vantagem de gravar assim

augustovieira

O padrão é: Se o campo for data, se grava com data. Gravar em varchar é para amadores.

Hebert_Coelho

augustovieira:
O padrão é: Se o campo for data, se grava com data. Gravar em varchar é para amadores.
Eita, sério? O.o

Viniciustelles
drsmachado:
freakazoid:
Viniciustelles:
Opa, mas na hora de consultar os registros no banco ele volta certo no campo? formatado??

opa, caso a data esteja sendo armazenada como texto pode fazer alguma coisa +/- assim:

try {  
                    String teste="07/02/2012";  
                    SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");  
                    Date dataTemp= new SimpleDateFormat("dd/MM/yyyy").parse(teste);  //aqui vc pode editar a mascara conforme os dados foram armazenados.
                      
                    System.out.println(sdf.format(dataTemp));  
                } catch (ParseException e) {  
                    e.printStackTrace();  
                }
Quem seria idiota o suficiente para armazenar data como char/varchar? Com certeza o mesmo imbecil que precisa remover a máscara antes de salvar a data. Todo banco de dados de verdade possui tipos de dados que aceitam datas, horas e datas com horas. Com um pouco de paciência e vontade, pode-se converter a data inserida em um objeto compatível e fazer a coisa de forma correta. Salvar datas como string é, no mínimo, preguiça.

Meu caso é o seguinte tenho outros campos alem de datas que estão formatados quero pedir ajuda no seguinte: campo cpf está com máscara quando consulto ele não retorna acredito que seja por causa da mascara pois quando passo ele para um textfild normal ele retorna blz. att

Rodrigo_Sasaki

Tente sem a máscara

Viniciustelles

Tente sem a máscara

Como disse quando tento sem a máscara ele retorna certo, mas gostaria de deixar a mascara na tela por questão se segurança…

Rodrigo_Sasaki

Tente sem a máscara

Como disse quando tento sem a máscara ele retorna certo, mas gostaria de deixar a mascara na tela por questão se segurança…
Então qual o problema?

Quando for mostrar, deixe a máscara, quando for fazer a busca pelo CPF, tire.

Viniciustelles

Vou deixar assim mesmo… pensei que tive-se uma maneira de mostrar com a máscara valeu pela ajuda att.

Criado 1 de novembro de 2010
Ultima resposta 13 de fev. de 2013
Respostas 13
Participantes 8