public void pesquisa(){
int num = 0;
String result = null;
try{
String url = "jdbc:mysql://localhost/conta";
String usuario = "";
String senha = "";
Class.forName("com.mysql.jdbc.Driver");
Connection d;
d = DriverManager.getConnection(url,usuario,senha);
st = d.createStatement();
ResultSet r = st.executeQuery("select *from where nome like ?");
r.next();
jCampoId.setText(r.getString("Id"));
jCampoNome.setText(r.getString("Nome do Livro"));
jCampoAutor.setText(r.getString("Autor"));
if(num == 1){
result = "Sim";
}else if(num == 0){
result = "Nao";
}
jPesquisa.setText(result);
st.close();
d.close();
}catch(Exception event){
JOptionPane.showMessageDialog(null, "Nao existe");
}
}
Ajuda Pesquisa no Banco netbeans
8 Respostas
Faltou o nome da tabela no select, não faltou?
Botei o nome da tabela mas cai direto no catch() nao sei por que isso
Acho que esta faltando vc setar o paramentro de pesquisa nome, que você apelidou na query com o “?”…
Coloca aqui o stacktrace pra ver se ajuda a localizar o erro.
O neno tem razão.
como o neno ti disse, no select vc deve coloca a variavel que o usuario ira digitar no campo.
ou seja ficaria assim.
SELECT * FROM nome_da_tabela WHERE nome LIKE '"+"%"+nome+"+"'" // << onde nome sera a variavel
sinal de % no comeco para buscar a palavra no inicio da mesma
sinal de % no final para para buscar a palavra no fim da mesma
sinal de % no comeco e no final buscar a na palavra inteira
makecio, sua dica do like pode ajudar…
mas o que o neno (ops, corrigi aqui, tinha escrito o nome errado, sry) quis dizer é que ele esqueceu de colocar
o valor pro “?”
st.setString(1, aVariavelDele)
Ola pessoal eu denovo desculpa a ignorancia mais ainda ta do mesmo jeito eu coloquei o query esse jtextoPesquisa e o nome da variavel da jtextfield e aonde eu boto para pesquisar tenho que botar ai eh ?. Obrigado por respoderem
ResultSet r = stm.executeQuery("select * from livro where nome like '"+"%"+jTextoPesquisa);