Duvida em jsp!

3 respostas
J

Oi pessoal, eu sou novato em programação e mais novato aindo no forum. Gostaria de saber como deletar uma informação em jsp com mysql.
Já tentei de várias formas e não estou consegundo. Aí está meu código, será que alguém poderia me ajudar ? Ficarei muito agradecido, pois,
tenho algumas dúvidas.

Aí é o meu código da camada DAO:

public void delete(int cod) throws Exception{
		PreparedStatement stmt = this.connection.prepareStatement("DELETE FROM tbContato where " + 
				"tbContato.idContatoTbContato=") ;
		stmt.execute();
		stmt.close();
	}

****************************************************************************************************

Aqui é o meu código que executa:

<%
if(request.getParameter("delete") != null){
	ContatoDAO contatoDao = new ContatoDAO();
	if(request.getParameterValues("pessoas" )!= null){
		String pessoas[] = request.getParameterValues("pessoas");
			for (int i = 0; i<pessoas.length; i++){
				contatoDao.delete(Integer.parseInt(pessoas[i]));	
			}
	}
	
	
	}
 %>
 
 
 	 <br>
     <br>
 
 Remover    
     <form name = "delete" ACTION="testConnection.jsp" METHOD="post">           
          <%
          Contato contato = new Contato();
          List<Contato> lista;
          ContatoDAO dao = new ContatoDAO();
          lista = dao.listaContato();
		   // Exibindo no console o nome de todos os aluno
		   for (int i = 0; i < lista.size(); i++) {
	   	  %>   	
	   	  	 <input type="checkbox" name="pessoas" value= "<%=lista.get(i).getIdContato()%>" />		  
             <%=lista.get(i).getNome()%>  <br>     
	      <%}%> 
           <br>      
          <input type="Submit" name="delete" value="Delete">
     </form>

3 Respostas

Vini_Fernandes

Cara, pelo o que li seu metodo delete() tem um erro:

public void delete(int cod) throws Exception{   
        //PreparedStatement stmt = this.connection.prepareStatement("DELETE FROM tbContato where " +   
         //       "tbContato.idContatoTbContato=") ;   
         PreparedStatement stmt = this.connection.prepareStatement("DELETE FROM tbContato where " +   
                "tbContato.idContatoTbContato=?") ;   
        stmt.setInt(1, cod)
        stmt.execute();   
        stmt.close();   
    }

Note que voce estava se esquencendo de passa o valor para o idContatoTbContato durante as chamadas do metodo delete(). Tente novamente agora!!

Ate mais

BlackDog
jpnascimento:
Oi pessoal, eu sou novato em programação e mais novato aindo no forum. Gostaria de saber como deletar uma informação em jsp com mysql. Já tentei de várias formas e não estou consegundo. Aí está meu código, será que alguém poderia me ajudar ? Ficarei muito agradecido, pois, tenho algumas dúvidas.

Aí é o meu código da camada DAO:

public void delete(int cod) throws Exception{
		PreparedStatement stmt = this.connection.prepareStatement("DELETE FROM tbContato where " + 
				"tbContato.idContatoTbContato=") ;
		stmt.execute();
		stmt.close();
	}

****************************************************************************************************

Aqui é o meu código que executa:

<%
if(request.getParameter("delete") != null){
	ContatoDAO contatoDao = new ContatoDAO();
	if(request.getParameterValues("pessoas" )!= null){
		String pessoas[] = request.getParameterValues("pessoas");
			for (int i = 0; i<pessoas.length; i++){
				contatoDao.delete(Integer.parseInt(pessoas[i]));	
			}
	}
	
	
	}
 %>
 
 
 	 <br>
     <br>
 
 Remover    
     <form name = "delete" ACTION="testConnection.jsp" METHOD="post">           
          <%
          Contato contato = new Contato();
          List<Contato> lista;
          ContatoDAO dao = new ContatoDAO();
          lista = dao.listaContato();
		   // Exibindo no console o nome de todos os aluno
		   for (int i = 0; i < lista.size(); i++) {
	   	  %>   	
	   	  	 <input type="checkbox" name="pessoas" value= "<%=lista.get(i).getIdContato()%>" />		  
             <%=lista.get(i).getNome()%>  <br>     
	      <%}%> 
           <br>      
          <input type="Submit" name="delete" value="Delete">
     </form>

No seu Where do delete falta o campo...por exemplo delete from table where campo = valor.

J

Valeu pessoal. Estarei sempre a disposição caso alguém necessite de ajuda.

Criado 10 de abril de 2009
Ultima resposta 10 de abr. de 2009
Respostas 3
Participantes 3