Olá pessoal, boa tarde.
Estou com um problema referente a cadastro no JSP.
Na tela de cadastro, após cadastrar um usuário, o mesmo inserido duas vezes no BD (MySQL).
Olá pessoal, boa tarde.
Estou com um problema referente a cadastro no JSP.
Na tela de cadastro, após cadastrar um usuário, o mesmo inserido duas vezes no BD (MySQL).
Como você está inserindo?
Meu método de cadastro é esse.
`public void cadastro(Usuarios usuarios){
try {
String querySQL = "INSERT INTO tbl_usuarios (nome_usuario,senha_usuario)VALUES(?,?)";
PreparedStatement ppst = this.conn.prepareStatement(querySQL);
ppst.setString(1, usuarios.getNome_usuario());
ppst.setString(2, usuarios.getSenha_usuario());
ppst.execute();
ppst.execute();
System.out.println("Cadastrado com sucesso!");
} catch (SQLException sqle) {
System.out.println("Erro: " + sqle.getMessage());
}
}`
E aqui a Servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nome = request.getParameter("nome"); String senha = request.getParameter("senha"); Usuarios us = new Usuarios(); us.setNome_usuario(nome); us.setSenha_usuario(senha); UsuariosDAO usDAO = new UsuariosDAO(); usDAO.cadastro(us); }
Seu código “fala” com você…
ppst.execute();
ppst.execute();
Você mesmo mandou ele inserir duas vezes
, acontece, acontece…
Dica: quando usar preparedStatements, evite usar execute, dê preferência ao método executeUpdate() por ser mais indicado no uso de insert/update e delete… o execute costuma ser mais usado em casos de store procedures, etc… e nos casos de select, use executeQuery…