JSP cadastrando dados duplicados

3 respostas
M

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).

3 Respostas

L

Como você está inserindo?

M

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); }

L

Seu código “fala” com você…

ppst.execute();
ppst.execute();

Você mesmo mandou ele inserir duas vezes :grin:, 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…

Criado 11 de abril de 2016
Ultima resposta 11 de abr. de 2016
Respostas 3
Participantes 2