Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    DB Derby Inserimento: problema! Aiuto

    Ciao, ho un problema che mi fa schizzare nell'inserimento in un DB derby.
    cosa sbaglio?

    vi posto il codice:

    codice:
    public void insertUser (User u) throws ClassNotFoundException, SQLException{
                createCon();
                try {
                    con.setAutoCommit(false);
                    //Insert nella tabella User
                    PreparedStatement s = con.prepareStatement("INSERT INTO UTENTE (name, surname, email, password, address, number, city, zipcode, country, high1, high2, high3) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)");
                    s.setString(1,u.getName());
                    s.setString(2,u.getSurname());
                    s.setString(3,u.getEmail());
                    s.setString(4,u.getPassword());
                    s.setString(5,u.getAddress());
                    s.setInt(6,u.getNumber());
                    s.setString(7,u.getCity());
                    s.setInt(8,u.getzip());
                    s.setString(9,u.getCountry());
                    s.setInt(10,u.high1());
                    s.setInt(11,u.high2());
                    s.setInt(12,u.high3());
                    s.executeUpdate();
                    } catch (SQLException sqle) {
                    if (con != null) {
                        try {
                            con.rollback();
                        } catch (SQLException sqle2) {
                            //log error
                        }
                    }
                }
                closeCon();
            }
    
    public void createCon() throws ClassNotFoundException{
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            try {
                con = DriverManager.getConnection("jdbc:derby:Autostrade");
                } catch (java.sql.SQLException sqle) {
    
                }
        }
    
        public void closeCon() throws SQLException{
             try {
                    //è una versione embedded quindi va chiusa quando l'applicazione termina
                    DriverManager.getConnection("jdbc:derby:Autostrade;shutdown=true");
                } catch (SQLException se) {
                    //Stato = 08006 chiusura OK, altrimenti si è verificato un errore
                    if (!se.getSQLState().equals("08006")) {
                        throw se;
                    }
                }
        
        }
    PS: sembra tutto funzionante, ma quando provo a leggerlo vedo che non ha inserito...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Hai messo

    codice:
    con.setAutoCommit( false );
    Ma da nessuna parte hai effettuato la commit (che diventa obbligatorio esplicitare dopo tale istruzione).

    PS: quando posti del codice, usa i tag CODE, come indicato nel Regolamento interno. E non usare parole inutili come "Aiuto" nei titoli.

    Ho corretto tutto io.


    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
    Grazie mille!!!

    adesso funziona

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.