Ciao a tutti, ho una tabella così creata:
codice:
st.executeUpdate("CREATE TABLE LIBRI" + "(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), " + "TITOLO VARCHAR(60) NOT NULL, " + "AUTORI VARCHAR(100) NOT NULL, " + "EDITORE VARCHAR(60) NOT NULL, " + "NUMDISP INT NOT NULL, " + "COPERTINA VARCHAR(50) NOT NULL, " + "PRIMARY KEY(ID))");
Ho la necessita' di estrarre l'id del libro cercandolo per titolo e ho usato il seguente metodo:
codice:
public int getIdLibro(String titolo) throws SQLException{
int id = 0;
String query = "SELECT ID FROM LIBRI WHERE TITOLO = " + titolo;
Connection conn = DriverManager.getConnection(url, user, pwd);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
if(rs.next()){
id = rs.getInt("ID");
}
return id;
}
Essendo su netbeans e dovendo usare il db derby al momento di richiamare il metodo getIdLibro() non ricevo nulla, mi sono quindi chiesta se, essendo così dichiarata la colonna ID, non fosse possibile richiederne il valore. Qualcuno vede qualche errore o sa darmi qualche spiegazione del perchè la query non restituisce nulla?