Remoção de máscara ao inserir no Banco de Dados

Olá pessoal,

Gostaria de uma sugestão.

Criei um MaskFormatter para um JFormattedTextField que vai “pegar” o CPF de um fulano. Quando a pessoa digita o CPF, ele fica formatado na seguinte máscara: “###.###.###-##”.

Ao inserir no banco de dados, eu gostaria de inserir sem os pontos (.) e sem o hífen (-). No entanto, o método getText() do JFormattedTextField pega a String completa, incluindo pontos e hífen.

Alguém tem alguma sugestão de como removê-los antes de inserir no Banco de Dados?

Ou o melhor é inserir com os pontos e hífen mesmo?

Desde já, obrigado!

E ai, beleza?Você tem a opção de utilizar StringBuffer!!

Se você optar por gravar os dados no banco sem a máscara, pode utilizar esse método:

  public String removeMask(String cpf) {

    String str = cpf;

    while (str.indexOf("-") != -1) {
      if (str.indexOf("-") != 0) {
        str = str.substring(0, str.indexOf("-")) +
            str.substring(str.indexOf("-") + 1);
      }
      else {
        str = str.substring(str.indexOf("-") + 1);
      }
    }
    while (str.indexOf(".") != -1) {
      if (str.indexOf(".") != 0) {
        str = str.substring(0, str.indexOf(".")) +
            str.substring(str.indexOf(".") + 1);
      }
      else {
        str = str.substring(str.indexOf(".") + 1);
      }
    }
    return str;
  }

Eu prefiro gravar os dados “sem máscara” no banco.

Por que vocês não lêem a API antes de sair escovando Strings?
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/text/MaskFormatter.html#setValueContainsLiteralCharacters(boolean)

Cara colega red_moskito, qual banco vc esta usando par agravar ?? Pergunto pois vc pode resolver minha duvida, tentei gravar no access e ele não captura nada, quando eu visualizo no banco, aparece um monte de 000000000
esta formatado para

(##)####-####

Valew

[quote=marsola2k]Cara colega red_moskito, qual banco vc esta usando par agravar ?? Pergunto pois vc pode resolver minha duvida, tentei gravar no access e ele não captura nada, quando eu visualizo no banco, aparece um monte de 000000000
esta formatado para

(##)####-####

Valew[/quote]

Amigão, tô inserindo em Banco de Dados Firebird 1.5.

entendi, agora preciso testar no SQL, pois no access ele nao le a linha e ou seja, nao grava !!!