Tenho uma função cadastrar que deveria inserir dados de um determinado usuario na tabela sql
public void cadastrar(String apelido, char[] senha) {
String sql = "INSERT INTO tbl_usuario (apelido,senha) VALUES('"+apelido+"','"+senha+"');";
System.out.println(sql);
try {
// PreparedStatement pst;
// pst = conn.prepareCall(sql);
//
// pst.setString(1, apelido);
// pst.setString(2, String.valueOf(senha));
Statement st = conn.createStatement();
// st = conn.createStatement();
st.executeUpdate(sql);
// pst.execute();
conn.close();
} catch (SQLException ex) {
System.out.println("Ocorreu um erro ao cadastrar!\n" + ex);
}
}
Algum tempo atras essa função ja funcionou,conforme continuei o projeto fiz algum coisa que começou a dar erro,desde ent tentei inserir os dados de diversas formas (os coments ali)
O erro em especifico é este
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at cliente.controller.Conexao.cadastrar(Conexao.java:53)
at cliente.view.Cadastrar.jBcadastrarActionPerformed(Cadastrar.java:186)
at cliente.view.Cadastrar$1.actionPerformed(Cadastrar.java:84)
O erro aponta para a seguinte linha:
Statement st = conn.createStatement();
Tenho a funcao logar que funciona perfeitamente:
public void logar(String apelido, char[] senha) {
Statement stm;
cliente.model.UsuarioAutenticado usuarioautenticado = new cliente.model.UsuarioAutenticado();
String sql = “select * from tbl_usuario where apelido like '” + apelido + “’”;
try {
stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
if (rs.next()) {
System.out.println("[Conexao]Usuario encontrado");
if (rs.getString("senha").matches(String.valueOf(senha))) {
System.out.println("[Conexao]Senha confere");
usuarioautenticado.setAutenticado(true);
usuarioautenticado.setApelido(rs.getString("apelido"));
usuarioautenticado.setId(rs.getInt("id"));
System.out.println("[Conexao]O id do usuario é: " + usuarioautenticado.getId());
System.out.println("[Conexao]O apelido do usuario é: " + usuarioautenticado.getApelido());
System.out.println("[Conexao]Esta autenticado? " + usuarioautenticado.isAutenticado());
} else {
System.out.println("[Conexao]Senha não confere");
}
} else {
System.out.println("[Conexao]Usuario não encontrado");
}
conn.close();
rs.close();
} catch (SQLException ex) {
System.out.println("Ocorreu um erro ao logar!\n" + ex);
}
}