Salve a tutti, sto cercando di introdurre le prepared statement nella mia applicazione esercizio che sto preparando per scuola.
Ecco il codice:
Ed e il log degli errori:codice:public int create(User u) { Connection c = DBDataSource.getJDBCConnection(); try { String sql = "INSERT into users (id ,nick, pass) VALUES (seq_users.nextval, '?','?')"; OraclePreparedStatement st = (OraclePreparedStatement) c.prepareStatement(sql); st.setString(1, u.getNick()); st.setString(2, u.getPass()); st.executeUpdate(); c.commit(); c.close(); return u.getId(); } catch (SQLException ex) { Logger.getLogger(UsersDAO.class.getName()).log(Level.SEVERE, null, ex); return -1; } }
Qualcuno mi sa dire dove sbaglio? Io davvero non riesco a capire.codice:19-nov-2009 14:16:57 DAO.UsersDAO create GRAVE: null java.sql.SQLException: Indice di colonna non valido at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208) at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5360) at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5352) at DAO.UsersDAO.create(UsersDAO.java:27) at userdao.main(userdao.java:19)
Grazie del vostro prezioso aiuto![]()

Rispondi quotando