• User Newbie

    [Servlet] nn riesco a fare update SQL

    Allora ho un metodo creaSQL() che crea una stringa SQL, stringa perfettamente funzionante perchè l'ho incollata direttamente nella finesta MySQL ed effettua l'upgrade:

    
    INSERT INTO q (id_u, id_q, id_d, p) VALUES(1, 4, 2, 1), (1, 4, 3, 2), (1, 4, 1, 3)
    
    

    Supponiamo quindi che quindi il metodo creaSQL sia così:

    
    protected String creaSQL(int id_usr) throws ClassNotFoundException, SQLException {
      String sql = "INSERT INTO q (id_u, id_q, id_d, p) VALUES(1, 4, 2, 1), (1, 4, 3, 2), (1, 4, 1, 3)";
      return sql;
    }
    
    

    Fin qui sembrerebbe tutto ok, ora all'interno della servlet avrò un altro metodo che prende la stringa sql e la deve eseguire:

    
    protected String execQuery(int id_usr) throws ClassNotFoundException, SQLException {
            String msg="dentro";
            String sql = creaSQL(id_usr);
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("url","user","pass");
            Statement st = conn.createStatement();
            int query = st.executeUpdate(sql);
                    
            if (query==1) {
                msg = "OK..."; 
            } else {
                msg = "C'è stato un errore!!!";
            }
            //conn.close();
            return msg;
        }
    
    

    Ma in return nn mi da nulla, manco "dentro". Se invece commento tutta la parte di codice in rosso, la parola "dentro" mi viene restituita.

    Dove sbaglio???


  • Moderatore

    sicuro che id_usr abbia un valore e non mandi in crash il metodo creaSQL?


  • ModSenior

    Approfitterei per segnalare Hibernate ... è indubbiamente più tosto da apprendere e configurare ma ti dimentichi problemi di questo tipo


  • User Attivo

    Hai risolto il problema?
    Ma che tipo di Exception ti da? Controlla la console cosa ti indica.