addBacth PrepareStatement

Pessoal alguem já usou o addBacth?

tenho este código…

			//String com o valor da query.
			String sSQL = null;
			int id = 0;
			for(int i = 0; i < bean.length; i++){
				sSQL = (String)hashQuery.get("insert");
				int idx = 1;
				stmt = conn.prepareStatement(sSQL);
				bean[i].setid(id);
				stmt.setInt(idx, id);
				stmt.setTimestamp(idx++, new Timestamp(bean[i].getDataGeracao().getTime()));
				stmt.setLong(idx++, bean[i].getNumeroSequencia());
				stmt.setString(idx++, new String(Hex.encode(bean[i].getNumeroSerieInterno())));
				stmt.setLong(idx++, bean[i].getQtdeDigitosOTP());
				stmt.setLong(idx++, bean[i].getQtdeOffSetOTP());
				stmt.setString(idx++, new String(Hex.encode(bean[i].getSemente())));
				stmt.setString(idx++, bean[i].getTipobean().trim());
				stmt.setString(idx++, bean[i].getVersaobean().trim());
				stmt.addBatch();
				sSQL = null;
			}
			int []insertBatch = stmt.executeBatch();

quando vai executar… é lançado esta exception

Penso que você está setando o parâmetro 1 duas vezes:

stmt.setInt(idx, id);
stmt.setTimestamp(idx++, new Timestamp(bean[i].getDataGeracao().getTime()));

Por usar o operador de POS-incremento.

Tente utilizar ++idx.

continua dando o mesmo erro.

uh-oh.

Resolvi…eu estava setando um parametro a menos…