Ciao a tutti! Ho questo metodo che dovrebbe eliminare da un catalogo una voce selezionando un campo (NUMERO) con un determinato valore. Il problema č che questo valore č un INTEGER che si autoincrementa, e temo che la query funzioni solo passando come valori stringhe, allora questo č il codice per creare la tabella del DB.
Questo il metodo per eseguire la cancellazione di un record:codice:st.executeUpdate("CREATE TABLE TABELLA_PRENOTAZIONI" + "(ID VARCHAR(30), " + " NOME VARCHAR(30) NOT NULL, " +" COGNOME VARCHAR(30) NOT NULL, "+ "LISTA VARCHAR(60),"+"DATA VARCHAR(8),"+"ORA VARCHAR(5),"+"TOTALE DOUBLE,"+"CONSEGNATA VARCHAR(2),"+"NUMERO INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), "+"PRIMARY KEY(ID,DATA))");
Il fatto che NUMERO sia un INTEGER č forse un problema nell'eseguire questa query?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(); st.executeUpdate("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; }
La voce del DB non viene rimossa...

Rispondi quotando