Ciao a tutti, sto lavorando su Netbeans usando il database Driver Derby JDBC. Non riesco a creare una tabella in cui settare un attributo NUMERO con autoincremento, errore di sintassi, non capisco come vada scritto. In sostanza č la tabella contenente delle prenotazioni.
Inoltre, se il valore si autoincrementa, se dņ la possibilitą ad un utente di inserire una prenotazione da form, come faccio con i preparedstatement ad inserire il valore con autoincremento?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),"+"NUMERO INT NOT NULL AUTO_INCREMENT,"+ "CONSEGNATA VARCHAR(2),"+"PRIMARY KEY(ID,DATA))");
codice:public void addPrenotazione(String id,String nome, String cognome, String lista, String data, String ora, String consegnata){ try{ DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver()); Connection conn = DriverManager.getConnection(url, user, pwd); String sql = "INSERT INTO TABELLA_PRENOTAZIONI VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement prepStat = conn.prepareStatement(sql); prepStat.setString(1, id); prepStat.setString(2, nome); prepStat.setString(3, cognome); prepStat.setString(4, lista); prepStat.setString(5, data); prepStat.setString(6, ora); prepStat.setInt(7, ); //COSA INSERIRE COME SECONDO PARAMETRO??? prepStat.setString(8, "NO"); prepStat.executeUpdate(); prepStat.close(); conn.close(); } catch(SQLException e){System.out.println(e.getMessage());} }

Rispondi quotando