Auto increment sql jdbc campo id

di il
2 risposte

Auto increment sql jdbc campo id

Ciao a tutti,
questo è il mio codice, come potete capire dal titolo:

public int rangeMaxId() {
		//String valoreMaxById = "select Max(id_candidato) from candidato"; // prendi il valore massimo ID
		
		//valore Max dell'id e poi somma per incrementare
		String aggiornamentoValoreMaxById = "select Max(id_candidato) from candidato";
		int max = Integer.parseInt(aggiornamentoValoreMaxById);
		
		int somma = 0;
		somma = somma + max;
		somma++;
		System.out.println(somma);
		
		Connection dbConnection = null;
		Statement statement = null;
		ResultSet rSet = null;
		PreparedStatement pStatement = null;

		try {
			dbConnection = Database.getConnection();
			statement = dbConnection.createStatement();

			// esegui istruzione query
			Candidato candidato = new Candidato();
			pStatement = dbConnection.prepareStatement(aggiornamentoValoreMaxById);
			pStatement.setInt(1, candidato.getId_candidato());
			pStatement.executeLargeUpdate(aggiornamentoValoreMaxById, somma);

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (dbConnection != null && statement != null && rSet != null && pStatement != null) {
					dbConnection.close();
					statement.close();
					rSet.close();
					pStatement.close();
				}
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}

		return somma;
Non mi funziona, per fare velocemente l'ho vorrei realizzare in query per fare la somma auto increment dell' id.
facendo tutto manualmente senza usare auto increment di mysql, che non l'ho voglio usare

2 Risposte

  • Re: Auto increment sql jdbc campo id

    Per realizzare in query come bisogna fare??
    oppure in java come l'ho fatto, che cosa ho sbagliato?
  • Re: Auto increment sql jdbc campo id

    Java.lang.NumberFormatException: For input string: "select Max(id_candidato) from candidato"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at it.sync.dao.jdbc.impl.CandidatoJdbcImpl.rangeMaxId(CandidatoJdbcImpl.java:240)
    at it.sync.dao.jdbc.impl.CandidatoJdbcImpl.creaCandidato(CandidatoJdbcImpl.java:137)
    at it.sync.main.TestFactory.main(TestFactory.java:44)
Devi accedere o registrarti per scrivere nel forum
2 risposte