Bom, fazendo um pesquisador de banco de dados com fins didáticos, criei um codigo mas no entando ele não funciona como gostaria. A logica funciona assim, o usuário digita um codigo (no meu caso eu digito um que eu conheça já) e o codigo e o nome do filme apareceriam na tele. Criei um método separado para conexão, porem esse não apresenta problemas, o problema esta em exatamente na hora de procurar o codigo e exibi-lo na tela.
o codigo é este
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class GuiAdicionaBD extends JFrame{
private JButton botao1;
private JLabel lb1,lb2,lb3,lbStatus,lbCodigo,lbFilme;
private JTextField tfPesquisa;
public GuiAdicionaBD(){
inicializarComponentes();
definirEventos();
}
private void inicializarComponentes() {
setLayout(null);
setBounds(0,0,600,600);
tfPesquisa=new JTextField("");
tfPesquisa.setBounds(20,20,100,50);
botao1 = new JButton("Pesquisar");
botao1.setBounds(150,50,100,50);
lb1=new JLabel("Resultado:");
lb1.setBounds(20,150,100,50);
lb2=new JLabel("Codigo");
lb2.setBounds(20,220,100,50);
lb3=new JLabel("Filme");
lb3.setBounds(120,220,300,50);
lbCodigo=new JLabel("");
lbCodigo.setBounds(20,270,100,50);
lbFilme=new JLabel("");
lbFilme.setBounds(120,220,300,50);
lbStatus=new JLabel("Status:");
lbStatus.setBounds(20,400,400,50);
add(tfPesquisa);
add(botao1);
add(lb1);
add(lb2);
add(lbCodigo);
add(lb3);
add(lbFilme);
add(lbStatus);
}
private void definirEventos(){
botao1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
BD bd=new BD();
if (bd.getConnection()){
try {
String sql="SELECT codigo,titulo FROM filmes WHERE codigo = ?";
PreparedStatement statement=bd.connection.prepareStatement(sql);
String cd=tfPesquisa.getText();
JOptionPane.showMessageDialog(null,tfPesquisa.getText());
statement.setString(1,cd);
ResultSet resultSet=statement.executeQuery();
lbCodigo.setText(resultSet.getString("codigo"));
lbFilme.setText(resultSet.getString("titulo"));
resultSet.close();
statement.close();
bd.close();
lbStatus.setText("Status: Conectou");
}
catch(SQLException erro){
lbStatus.setText("Status: Falhou ao acessar o banco de dados");
}
}
else
lbStatus.setText("Status: Falhou em conectar");
}
});
}
public static void main(String [] args){
JFrame frame=new GuiAdicionaBD();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
obrigado