Pessoal na hora que eu vou inserir os dados no banco o NetBeans me retorna esse erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
segue abaixo o codigo do botão salvar do meu form:
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
ConectaBanco con_usuario;
con_usuario = new ConectaBanco();
con_usuario.OpenDB();
try{
String nome = txtNome.getText();
String desc = txtDesc.getText();
String valor = txtValor.getText();
//Inseri os dados no banco
String UsuarioInsert = "INSERT INTO tratamentos2 () VALUES (NULL,'"+nome+"','"+desc+"','"+valor+"')";
con_usuario.stmt.execute(UsuarioInsert);
JOptionPane.showMessageDialog(null,"Usuário cadastrado com sucesso!","Cadastrado!", JOptionPane.INFORMATION_MESSAGE);
}
catch(SQLException erroSQL){
JOptionPane.showMessageDialog(null,"Não foi possível cadastrar o usuário!", "Erro!", JOptionPane.ERROR_MESSAGE);
}
}
Segue abaixo o código de conexao ao bando:
public class ConectaBanco {
//Banco de dados localhost
final private String driver = "com.mysql.jdbc.Driver"; // MySQL JDBC driver
final private String mydatabase = "mr_tooth";
final private String ip = "localhost";
final private String port = "3306";
final private String url = "jdbc:mysql://" + ip + ":" + port + "/" + mydatabase;
final private String username = "root";
final private String password = "root";
private Connection conn;
public Statement stmt;
public PreparedStatement pstmt;
public ResultSet rs;
public boolean OpenDB(){
boolean result = true;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
//JOptionPane.showMessageDialog(null,"Conectou :D");
System.out.println("Conectou :D");
}
catch(ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
result = false;
}
catch(SQLException Fonte){
JOptionPane.showMessageDialog(null,"Erro na conexão: "+Fonte);
result = false;
}
return result;
}
public void CloseDB(){
boolean result = true;
try{
conn.close();
//JOptionPane.showMessageDialog(null,"Desconectou :D");
System.out.println("Desconectou :D");
}
catch(SQLException Fechar){
JOptionPane.showMessageDialog(null,"Não foi possivél fechar a conexão: "+Fechar);
result = false;
}
}
public void QuerySQL(String sql){
try{
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch(SQLException erroSQL){
JOptionPane.showMessageDialog(null,"O comando SQL não funcionou: "+erroSQL+", SQL passado: "+sql);
}
}
}
O engraçado é que em outros formularios eu consigo inserir os dados no banco normalmente usando essa mesma tecnica.

