Problème requête de suppression j2ee

comondo123 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
j'ai problème de la suppression pour supprimer les données
if(dn != null){
Iterator list = dn.selectAllist().iterator();
while(list.hasNext()){
donner s = (donner)list.next();%>
<tr>
<td><%=s.getId() %></td>

<td><%=s.getnom() %></td>

<td><%=s.getprenom() %></td>
<td>

<td><a href='donner?id=<%=s.getId()%>'>Supprimer</a>
</td>
...........................
public void remove(Long id){
Connection conn = connection.getConnection();
String req = "DELETE FROM utilisateur WHERE id= ?";
try{
PreparedStatement pr =conn.prepareStatement(req);
pr.setLong(1,new Long(id));
pr.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}
}
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
En Java EE il est absolument important de respecter les conventions de nommage car un certains nombres de fonctionnalités vont construire du code dynamiquement, en supposant que ces conventions sont respectées !

Remarque : évite les scriptlets (le code en <% %>), si tu as compris l'intérêt des preparedStatement et le danger que représente l'injection SQL, et bien c'est le même risque avec les scriptlets... on peut contourner l'utilisation de la jsp et y injecter n'importe quel code Java pour faire tout et n'importe quoi !

<%
    if (dn != null)
    {
        for (Donner s : dn)
        {
%>
            <tr>
                <td><%= s.getId() %></td>
                <td><%= s.getNom() %></td>
                <td><%= s.getPrenom() %></td>
                <td><a href='donner?id=<%= s.getId() %>'>Supprimer</a></td>
            </tr>
<%
        }
    }
%>

/**
 * @return le nombre de lignes supprimées, -1 en cas d'erreur
 */
public int remove(Long id)
{
    String req = "DELETE FROM utilisateur WHERE id = ?";
    
    Connection conn = null;
    PreparedStatement stmt = null;
    
    try
    {
        conn = DriverManager.getConnection("url", "user", "pwd");
        stmt = conn.prepareStatement(req);
        stmt.setLong(1, id);
        return stmt.executeUpdate();
    }
    catch (Exception e)
    {
        e.printStackTrace();
        return -1;
    }
    finally
    {
        if (stmt != null)
        {
            try
            {
                stmt.close();
            }
            catch (Exception e)
            {
            }
        }
        
        if (conn != null)
        {
            try
            {
                conn.close();
            }
            catch (Exception e)
            {
            }
        }
    }
}
0