Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Quote Originariamente inviata da Stellina885 Visualizza il messaggio
    devi fare una query che elimina la riga che si vuol far scomparire
    Ovvio...se sapessi farlo non starei qui

    Cioč ovviamente so come si scrive una query, ma nel caso specifico ho una tabella con dei bottoni e non riesco a capire come prendere il riferimento alla riga da cancellare e inserirlo nel corrispondente bottone, perchč ho una classe java dove gestisco le operazioni sul database, e dove potrei prendere questo riferimento, ma poi non so come recuperarlo nella JSP.

  2. #2
    Ciao
    puoi crearti una colonna della tabella che contiene un link del tipo <a href="cancella_rec.jsp?id=1" .... /> (dove id č la pk del record ttuale).

    Come ti ha comunque gią spiegato Andbin, sarebbe meglio inviare la request generata dal link ad una servlet
    che a sua volta dovrebbe usare altri layer per eseguire la cancellazione.

    In ogni caso nella pagina/servelt richiamata potrai ricavarti il valore dell'id sfruttando i metodi dell'oggetto request
    messo a disposizione (getParameter....)

    HTH

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Darčios89 Visualizza il messaggio
    non riesco a capire come prendere il riferimento alla riga da cancellare e inserirlo nel corrispondente bottone, perchč ho una classe java dove gestisco le operazioni sul database, e dove potrei prendere questo riferimento, ma poi non so come recuperarlo nella JSP.
    Hai chiaro l'esempio che ti ho fatto nel post #8 ?
    Bene, immagina di avere anche una cella con (e riprendo anche quanto ho detto in #2 ):

    <td><form method="post" action="url-di-elimina"><input type="hidden" name="id" value="<%= rs.getString("ID") %>"><input type="submit" value="Elimina"></form></td>

    Dove ID č l'identificativo del record su DB. E naturalmente puoi farcire il HTML con una gestione Javascript magari anche solo per chiedere conferma prima del submit.
    Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet

  4. #4
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Hai chiaro l'esempio che ti ho fatto nel post #8 ?
    Bene, immagina di avere anche una cella con (e riprendo anche quanto ho detto in #2 ):

    <td><form method="post" action="url-di-elimina"><input type="hidden" name="id" value="<%= rs.getString("ID") %>"><input type="submit" value="Elimina"></form></td>

    Dove ID č l'identificativo del record su DB. E naturalmente puoi farcire il HTML con una gestione Javascript magari anche solo per chiedere conferma prima del submit.
    Ok, quindi in questo caso prendo dati dal form e non c' č bisogno di passare parametri tramite url?

    Ho scritto questo, ma a quanto pare non funziona..

    Per la tabella con il bottone di rimozione (in fondo la parte del bottone):

    codice:
     public String getPrenotazioni(String us){        
            String ris="";
            String ruolo="";
        try {
            
                // registrazione driver JDBC per Derby DB        
                DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
                Connection conn = DriverManager.getConnection(url, user, pwd);
                Statement st = conn.createStatement();
                
                
                ResultSet rs = st.executeQuery("SELECT RUOLO FROM TABELLA_UTENTI WHERE ID = '"+us+"' ");
    
    
                     while (rs.next()) {
                      ruolo += rs.getString("RUOLO");
                    }
                     
                      if(ruolo.equals("admin")){
                         
                          String tmp="<td><form method=\"post\" action=\"eliminaPrenotazione.jsp\"><input type=\"hidden\" name=\"id\" value=\"<%= rs.getString(\"NUMERO\") %>\"><input type=\"submit\" value=\"Elimina\"></form></td>";
                         rs = st.executeQuery("SELECT * FROM TABELLA_PRENOTAZIONI");
                         while (rs.next()) {
                     ris += "<tr> <td align=left >"+rs.getString("ID") +"</td>"+
                             "<td align=left>"+rs.getString("NOME")+"</td>"+
                             "<td align=left>"+rs.getString("COGNOME")+ "<td align=left>"+rs.getString("NUMERO")+tmp;
                             
                        }
                     }
                     
                                     
    
    
                     else if(ruolo.equals("user")){
                  String tmp="<td><form method=\"post\" action=\"eliminaPrenotazione.jsp\"><input type=\"hidden\" name=\"id\" value=\"<%= rs.getString(\"NUMERO\") %>\"><input type=\"submit\" value=\"Elimina\"></form></td>";
    
    
                          rs = st.executeQuery("SELECT * FROM TABELLA_PRENOTAZIONI WHERE ID = '"+us+"' ");
                           while (rs.next()) {
                        ris += "<tr> <td align=left >"+rs.getString("ID") +"</td>"+
                             "<td align=left>"+rs.getString("NOME")+"</td>"+ 
                             "<td align=left>"+rs.getString("COGNOME")+ "<td align=left>"+rs.getString("NUMERO")+tmp;
                                    
                                     
                        }
                     }
                     
                     
                rs.close();
                st.close();
                conn.close();
        
        } 
         catch (SQLException e) {
           System.out.println(e.getMessage());
        }
        
        return ris;
        }
    La pagina JSP a cui passo il controllo:

    codice:
    
    <%@page import="viste.ConnectionDb"%>
    
    
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    
    
    
    
    <!DOCTYPE html>
    
    
    <%HttpSession s=request.getSession();
    ConnectionDb c=new ConnectionDb();
    /*boolean ok=*/c.removePrenotazione(request.getParameter("id"));
    
    
    %>
    
    
    
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Prenotazione</title>
        </head>
        
    
    
    
    
    
    
    
    
        <body>
         
            
            <h1>Hai rimosso la tua prenotazione!</h1>
             <form>
                <input type="button" value="Torna alle prenotazioni" onClick="javascript:history.go(-1)" name="button" align='center'>
        </form>
            
        </body>
    </html>
    E il metodo di rimozione dal database che mi sembra corretto:

    codice:
      public boolean removePrenotazione(String numero){
              
                try {
            
                // registrazione driver JDBC per Derby DB        
                DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
                Connection conn = DriverManager.getConnection(url, user, pwd);
                Statement st = conn.createStatement();
                ResultSet rs = st.executeQuery("DELETE * FROM TABELLA_PRENOTAZIONI WHERE NUMERO='"+numero+"'");
                rs.close();
                st.close();
                conn.close();
                
                
        
                } 
               
            catch (SQLException e) {
              System.out.println(e.getMessage());
              return false;
            }
                return true;
          
          }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.