Como buscar um determinado nome pelo Mysql?

9 respostas
hackum

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

drsmachado

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.

alandiniz

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.

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…

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.

ViniGodoy

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

ViniGodoy

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.

ViniGodoy
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());
drsmachado

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