Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631

    UPDATE non funzionante

    ciao
    ragazzi nn riesco a capire perchè questa query non funziona nel senso che non mi aggiorna i valori nel database

    codice:
    public Person modificaContatto(Person singolo) throws SQLException,
    ClassNotFoundException, IOException, NullPointerException {
    	Person custom = null; 
    	String statement = "UPDATE datab " +
    			             "SET nome = '"+singolo.getNome()+"',"+
    			            " cognome = '"+singolo.getCognome()+"',"+
    			            " societa = '"+singolo.getSocietà()+"',"+
    			            " indirizzo = '"+singolo.getIndirizzo()+"'"+
    			            "WHERE codice = '"+singolo.getCodice()+"';" ;
    	custom = prendiContatto(statement);
    return custom;
    }
    
    
    public Person prendiContatto(String query) throws IOException
    	{
    	try{
        Connection conn = null;
        Class.forName("com.mysql.jdbc.Driver");
        String connessione = doit();
        conn = (Connection) DriverManager.getConnection(connessione);
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(query);
    }
    catch (NullPointerException e){}
    	catch (SQLException e){}
    	catch (ClassNotFoundException e){}
    }
    singolo è una classe mia personalizzata contenente i miei campi, mentre il metodo "doit" carica i driver sul file ini....
    ripeto perchè non mi aggiorna i valori???? :berto:
    quando il diavolo ti accarezza è perchè vuole la tua anima

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Hai notato che stai eseguendo una query di aggiornamento richiamando il metodo executeQuery() che serve per eseguire query di selezione?

    Statement ha un metodo apposito che si chiama esecuteUpdate()


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    hai ragione
    ma purtroppo non mi fa nulla, vedi il codice??
    codice:
    public Person aggiornaContatto(String query) throws IOException
    {Person custom2 = null;
    try{
    Connection conn = null;
    Class.forName("com.mysql.jdbc.Driver");
    String connessione = doit();
    conn = (Connection) DriverManager.getConnection(connessione);
    Statement stmt = conn.createStatement();
    int rs = stmt.executeUpdate(query); 
    
    conn.close();
    }
    catch (NullPointerException e){}
    catch (SQLException e){}
    catch (ClassNotFoundException e){}
    return custom2;
    }
    quando il diavolo ti accarezza è perchè vuole la tua anima

  4. #4
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    no no bugia ho risolto, era la chiamata sbagliata
    sei un grande grazie
    quando il diavolo ti accarezza è perchè vuole la tua anima

  5. #5
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    invece per quanto riguarda la cancellazione di una tupla che istruzione dovrei usare??
    quando il diavolo ti accarezza è perchè vuole la tua anima

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da gax80
    invece per quanto riguarda la cancellazione di una tupla che istruzione dovrei usare??
    L'istruzione SQL per eliminare uno o più record è DELETE:
    codice:
    DELETE FROM <tabella>
    WHERE <condizione>
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    no intendevo nello statement, ma ho risolto
    executeUpdate, vale anche per la cancellazione
    grazie (come sempre )
    quando il diavolo ti accarezza è perchè vuole la tua anima

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Sì, Update in quel contesto significa aggiornamento e l'aggiornamento può consistere in un inserimento, una modifica o una cancellazione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    quando il diavolo ti accarezza è perchè vuole la tua anima

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 © 2025 vBulletin Solutions, Inc. All rights reserved.