Como buscar um determinado nome pelo Mysql?

9 respostas
H

Olá!
Sabemos que para fazer pesquisa em uma BD, basta fazer, por exemplo:

Mas, como eu posso fazer isso em Java ? O usuário digita o que deseja buscar, e aperta o botão BUSCAR.

Até mais…

9 Respostas

D

Camarada, tem muitos tutoriais sobre isto na net. No guj e no google tem milhares.

Procure por CRUD em java e se divirta.

L

hackum,

se você tivesse alguma dúvida com sua aplicação até poderiamos te ajudar. Mas percebo que você quer algo pronto. É melhor você estudar Java Web.
Portanto segue abaixo o link da apostila Java para desenvolvimento web da caelum:


Bons estudos.

A

hackum se você passar parte do código que você já tem, fica bem + fácil de ajudar…

ou então de mais detalhes, vc nem falo se você está programando pra web ou desktop.

H

Não, pessoal eu não quero nada pronto. Apenas, quero que vocês me ensinam como que faz para o usuário digitar algo para pesquisar no banco de dados MYSQL. Eu estou fazendo uma aplicação Desktop. Vejamos um exemplo:

String dados = "INSERT INTO dadosClientes " +
                                    "(codigo, nome, datanascimento,cpfcnpj,rg,telefone,celular,cep,endereco,bairro) "+
                                    "VALUES (?,?,?,?,?,?,?,?,?,?)";
             
             
             ps = conectar.prepareStatement(dados);

No caso é para pesquisar, então ficaria assim:

String pesquisar = ("select * from NOMEDATABELA where COLUNA = ' O QUE DESEJA BUSCAR");

Mas, nesse caso, a busca está sendo feita sem alteração do usuário. Eu quero que o usuário digita no campo JTextField, e clica em pesquisar. Mas como eu vou colocar ali dentro do SELECT ?

Assim mais ou menos ?

Até mais…

M

hackum:
Não, pessoal eu não quero nada pronto. Apenas, quero que vocês me ensinam como que faz para o usuário digitar algo para pesquisar no banco de dados MYSQL. Eu estou fazendo uma aplicação Desktop. Vejamos um exemplo:

String dados = "INSERT INTO dadosClientes " +
                                    "(codigo, nome, datanascimento,cpfcnpj,rg,telefone,celular,cep,endereco,bairro) "+
                                    "VALUES (?,?,?,?,?,?,?,?,?,?)";
             
             
             ps = conectar.prepareStatement(dados);

No caso é para pesquisar, então ficaria assim:

String pesquisar = ("select * from NOMEDATABELA where COLUNA = ' O QUE DESEJA BUSCAR");

Mas, nesse caso, a busca está sendo feita sem alteração do usuário. Eu quero que o usuário digita no campo JTextField, e clica em pesquisar. Mas como eu vou colocar ali dentro do SELECT ?

Assim mais ou menos ?

Até mais…

hackum,

so fazer “SELECT nome_colunas FROM nome_tabela WHERE coluna = '”+meuJtext.getText()+"’ "

Para colocar uma Variavel na consulta SQL, você utiliza ‘"++"’ e coloca a variavel entre os mais.

Ae é só associar ao evento desejado, e mostrar a tabela é claro.

Posta ae se tiver entendido.

V

Tópico movido para o fórum de persistência.

V

MarcioMaia:
so fazer “SELECT nome_colunas FROM nome_tabela WHERE coluna = '”+meuJtext.getText()+"’ "

Para colocar uma Variavel na consulta SQL, você utiliza ‘"++"’ e coloca a variavel entre os mais.

Ae é só associar ao evento desejado, e mostrar a tabela é claro.

Posta ae se tiver entendido.

Deus me livre. Jamais faça isso. Esse código, além de pouco elegante, é sujeito ao ataque de SQL Injection. Sem falar que ele quebra caso seu usuário digite um apóstrofe.

V
Ficaria assim:
String sql = "SELECT * FROM NOMEDATABELA where COLUNA LIKE ?";
ps = conn.prepareStatement(sql);

ps.setString(1, "% + seuTextField.getText() + "%");
ResultSet rs = conn.executeQuery();
//Aqui vc usa os dados do resultset
Melhor ainda é se vc dividir isso numa classe Dao. O dao recebe como parâmetro de entrada a String do JTextField, e retorna uma lista da classe que vc quer com base no resultSEt:
public class ClienteDao throws SQLException {
    public List<Cliente> pesquisarPorNome(String nome) {
        String sql = "SELECT * FROM tblClientes where nome LIKE ?";
        ps = conn.prepareStatement(sql);

        ps.setString(1, "% + seuTextField.getText() + "%");
        ResultSet rs = conn.executeQuery();
        List<Cliente> clientes = new ArrayList<Cliente>();
        while (rs.next()) {
                clientes.add(new Cliente(rs.getInt("id"), rs.getString("nome"));
        }
        return clientes;
    }
}
No uso:
List<Cliente> clientes = clienteDao.pesquisarPorNome(seuTextField.getText());
D

MarcioMaia:
hackum,

so fazer “SELECT nome_colunas FROM nome_tabela WHERE coluna = '”+meuJtext.getText()+"’ "

Para colocar uma Variavel na consulta SQL, você utiliza ‘"++"’ e coloca a variavel entre os mais.

Ae é só associar ao evento desejado, e mostrar a tabela é claro.

Posta ae se tiver entendido.


Camarada, esqueça isso.
Use preparedStatement.

String query = "SELECT col1, col2, col3, colN FROM table WHERE col1 = ?";
PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, valor);
px.execute();
ResultSet rs = ps.getResultSet();

Mais elegante, mais simples e menos problemas.

Criado 2 de fevereiro de 2012
Ultima resposta 3 de fev. de 2012
Respostas 9
Participantes 6