Estou iniciando em desenvolvimento java com oracle, eu fiz uma coisa bem simples que é gravar dados no banco de dados, porém a dúvida,no banco de dados tenho uma informação que não pode repetir que seria idCarro, automaticamente ao inserir a informação ele criaria uma sequencia, essa sequência eu fiz no oracle, mas como chamar, como fazer isso acontecer no java, vou estar colocando o codigo que fiz pra inserir os dados e a informação do banco
create table clCarros(
idcarro number,
nome varchar2(50),
vlDiaria number(13,2)
)
create sequence seq_clCarros
start with 1
agora o java pra inserir a informação
try{
//conectar ao banco
Connection con= ConnectionFactory.getConnection();
//prepara o Statement ara inserção
PreparedStatement stmt = con.prepareStatement("insert into clcarros(idcarro,nome,vlDiaria)values(?,?,?)");
//preenche os valores
//stmt.setLong(1, (int)1);
stmt.setInt(1, (int)1);
stmt.setString(2, "passat");
stmt.setInt(3, (int) 2.50);
//executa o stmt
stmt.execute();
con.close();
System.out.println("Gravado dados no banco");
Fala grande obrigado por ter respondido,
Entao eu fiz exatamente como tinha dito, coloquei a nomesequencia.nextval,mas ele esta dando um erro de indice?
java.sql.SQLException: Índice de coluna inválido
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
at oracle.jdbc.driver.OraclePreparedStatement.setIntInternal(OraclePreparedStatement.java:4105)
at oracle.jdbc.driver.OraclePreparedStatement.setInt(OraclePreparedStatement.java:4096)
at Insere_clcarros.main(Insere_clcarros.java:37)
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)