Pessoal estou tentando fazer com que eu busque um codigo no meu banco e copie o valor do nome do funcionario para um JText field, essa é a classe com o metodo.
Por favor alguem sabe me dizer porque esta dando o erro abaixo?
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at cadastros.Manage.auxiliaBuscar(Manage.java:90)
at cadastros.Manage$1.actionPerformed(Manage.java:40)
[code]package inicio;
import java.sql.*;
import javax.naming.spi.DirStateFactory.Result;
import javax.swing.JOptionPane;
import cadastros.Funcionario;
public class Banco {
Connection conexao;
public void conectar(){
String url = “jdbc:postgresql://localhost:5432”;
String usuario = “postgres”;
String senha = “8419564”;
try {
Class.forName(“org.postgresql.Driver”);
conexao = DriverManager.getConnection(url, usuario, senha);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void inserirFuncionario(int codigo, String nome){
try {
this.conectar();
Statement stm = conexao.createStatement();
stm.executeUpdate("insert into funcionarios(codigo,nome) values('"+codigo+"','"+nome+"')");
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro ao inserir o funcionario");
}
}
public Funcionario buscarFuncionario(int codigo) throws SQLException{
this.conectar();
Statement stm = conexao.createStatement();
ResultSet rs = stm.executeQuery("select codigo,nome from funcionarios where codigo = "+codigo);
rs.next();
Funcionario f = new Funcionario(codigo, rs.getString("nome"));
return f;
}
}
[/code]
[code]package cadastros;
import inicio.Banco;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import javax.swing.*;
public class Manage {
JFrame frame;
public JTextField tfCodigo;
public JTextField tfNome;
public void cadastrar(){
frame = new JFrame(“Cadastro de Funcionario”);
JLabel lCodigo = new JLabel(“Codigo”);
JLabel lNome = new JLabel(“Nome”);
tfCodigo = new JTextField(2);
tfNome = new JTextField(30);
JPanel pane = new JPanel();
JPanel pane2 = new JPanel();
JButton salvar = new JButton(“Salvar”);
JButton novo = new JButton(“Novo”);
Icon lupa = new ImageIcon(“D:/lupa2.jpg”);
JButton buscar = new JButton(lupa);
Color branco = new Color(248,248,255);
buscar.setBackground(branco);
buscar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Banco b = new Banco();
int cod = Integer.parseInt(tfCodigo.getText());
try {
Manage m = new Manage();
m.auxiliaBuscar(b.buscarFuncionario(cod));
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro no acesso ao Banco de Dados!");
}
}
});
novo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
tfCodigo.setText("");
tfNome.setText("");
tfCodigo.setEditable(true);
tfNome.setEditable(true);
}
});
salvar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try{
Banco b = new Banco();
int cod = Integer.parseInt(tfCodigo.getText());
b.inserirFuncionario(cod,tfNome.getText());
tfCodigo.setEditable(false);
tfNome.setEditable(false);
}catch(NumberFormatException e1){
JOptionPane.showMessageDialog(null,"Codigo invalido");
}
}
});
pane.add(lCodigo);
pane.add(tfCodigo);
pane.add(buscar);
pane.add(lNome);
pane.add(tfNome);
pane2.add(salvar);
pane2.add(novo);
frame.setLayout(new BorderLayout());
frame.add(BorderLayout.NORTH, pane);
frame.add(BorderLayout.SOUTH, pane2);
frame.setSize(600,150);
frame.setResizable(false);
frame.setVisible(true);
}
public void auxiliaBuscar(Funcionario f){
tfNome.setText(f.getNome());
}
}
[/code]