Duvida Pesquisa diferenciada com Letra Maiuscula e minuscula!

6 respostas
fabin

Boa tarde pessoal,

Estou com uma duvida na hora de desenvolver a pesquisa no banco de dados.

Bom, a pesquisa esta funcionando, mas ela funciona so se tiver escrito do jeito que esta no banco,
ex: no banco de dados está: Fábio, e para pesquisar pelo menos tenho que colocar Fáb, para achar.

Gostaria de implementar a pesquisa, no caso de diferenciar letra Maiuscula e minuscula, ou com acento.

Exemplo: No meu banco esteja Carlos, Fábio, no meu campo de pesquisa eu consigo listar os nomes como carlos, fabio, ao inves de colocar Carlos, Fábio.

Não sei se fui claro.

Na minha pesquisa nao estou usando select.

segue o codigo

try {
            con_fornecedor.resultset.first(); 
            String igual  = "a"; //não localizou o nome do fornecedor
            int tampesquisa = tf_pesqFornec.getText().length();//exibe os caracteres
            while(igual == "a")
            {
                String resultado = con_fornecedor.resultset.getString("nmfornecedor").substring(0,(tampesquisa));

                if (resultado.equals(tf_pesqFornec.getText()))
                {
                    igual = "s";//mostra que localizou o fornecedor
                }else
                    con_fornecedor.resultset.next();
            }
            //mostra o conteudo da tabela
            tf_codigoFornec.setText(con_fornecedor.resultset.getString("cdfornecedor"));            
            mostrarDados();


        } catch (Exception e) {
             JOptionPane.showMessageDialog(null,"Erro ao pesquisar" +e);
        }


Obrigado a todos

6 Respostas

Andre_Rosa

Nos meus sistemas, geralmente eu converto tudo para maiúscula, e removo os acentos, isso tanto na hora de cadastrar, quanto na hora de tratar a string de pesquisa.

fabin

Voce coloca no jtextfield para aceita somente maiusculo??

ou so na hora de gravar no banco como maiusculo??

vc usa o toUpperCase() ???

Andre_Rosa

fabin:
Voce coloca no jtextfield para aceita somente maiusculo??

ou so na hora de gravar no banco como maiusculo??

vc usa o toUpperCase() ???

Eu trato a string com o método toUpperCase(), mas se achar melhor, também é válido usar só maiúsculas no jTextField.

fabin

Obrigado, vou testar!!!

Qual metodo voce trata os acentos??

So para intender, quando o usuario digita com acento, o metodo manda a string sem acento para o banco, e na hora de retorar para a consulta o metodo manda a string novamente com acento??

Andre_Rosa

fabin:
Obrigado, vou testar!!!

Qual metodo voce trata os acentos??

So para intender, quando o usuario digita com acento, o metodo manda a string sem acento para o banco, e na hora de retorar para a consulta o metodo manda a string novamente com acento??

Na época eu criei um método seguindo um algoritmo em Object-Pascal. O algoritmo é esse:

function TiraAcentos(Texto:string):string; const ComAcento = 'àâãáêéíôõóûúüçÀÂÃÁÊÉÍÔÕÓÛÚÜǺª'; SemAcento = 'aaaaeeiooouuucAAAAEEIOOOUUUCoa'; var i :Integer; begin for i := 1 to Length(Texto) do begin if (pos(Texto[i],ComAcento)<>0) then Texto[i] := SemAcento[pos(Texto[i],ComAcento)]; end; Result := Texto; end;

fabin

Obrigado…

Ja estou seguindo esses passos no sistema…

abs

Fabio

Criado 25 de junho de 2011
Ultima resposta 25 de jun. de 2011
Respostas 6
Participantes 2