Problemas em INSERT no Oracle

bom estou usando o seguinte codigo para inserir um dado na minha db do oracle

public static void inserir(Connection connection){ String sql = "INSERT INTO Chave (modelo, precoUnitario) values (?,?)"; Preparedstatement stat = connection.preparedStatement(sql); stat.setString(1, "GOLD"); stat.setString(2, 34.78); stat.executeUpdate(); }

ocorre que ao tentar executar o comando ele diz que o indice da coluna está invalido ! mais não vejo erro nenhum

O índice começa em 0, não em 1.

public static void inserir(Connection connection){  
String sql = "INSERT INTO Chave (modelo, precoUnitario) values (?,?)";  
Preparedstatement stat  = connection.preparedStatement(sql);  
stat.setString(0, "GOLD");  
stat.setString(1, 34.78);  
stat.executeUpdate();  
}

A propósito, o preço unitário é do tipo String mesmo? Não deveria ser assim:

stat.setDouble(1, 34.78);  

Se for string, use : stat.setString(1,"34.78");

e se for um double, use:

stat.setDouble(1, 34.78);

[quote=Tchello] O índice começa em 0, não em 1.
[/quote]
Pior que não :cry:
Começa em 1 mesmo
http://download.oracle.com/javase/tutorial/jdbc/basics/prepared.html

Os arrays sim começam em 0.

[quote=furutani][quote=Tchello] O índice começa em 0, não em 1.
[/quote]
Pior que não :cry:
Começa em 1 mesmo
http://download.oracle.com/javase/tutorial/jdbc/basics/prepared.html

Os arrays sim começam em 0.[/quote]
omg #FAIL

Peço desculpas com humildade pelo erro. (ai que bom se fosse fácil assim sempre com quem erra né? hehehe).

[quote=Tchello][quote=furutani][quote=Tchello] O índice começa em 0, não em 1.
[/quote]
Pior que não :cry:
Começa em 1 mesmo
http://download.oracle.com/javase/tutorial/jdbc/basics/prepared.html

Os arrays sim começam em 0.[/quote]
omg #FAIL

Peço desculpas com humildade pelo erro. (ai que bom se fosse fácil assim sempre com quem erra né? hehehe).

[/quote]
Sem problemas! É confuso mesmo, não sei por que cargas d´agua começa em 1.

[quote=furutani][quote=Tchello][quote=furutani][quote=Tchello] O índice começa em 0, não em 1.
[/quote]
Pior que não :cry:
Começa em 1 mesmo
http://download.oracle.com/javase/tutorial/jdbc/basics/prepared.html

Os arrays sim começam em 0.[/quote]
omg #FAIL

Peço desculpas com humildade pelo erro. (ai que bom se fosse fácil assim sempre com quem erra né? hehehe).

[/quote]
Sem problemas! É confuso mesmo, não sei por que cargas d´agua começa em 1.[/quote]

Yep, ao ler sua resposta me lembrei de ter reclamado disso um dia: como que tudo começa em zero e logo isso vai começar em 1?
Bom, se não foi disso que reclamei foi de alguma outra coisa que foge a regra.

Abraços!

pois é meu codigo ta assim:

public static void inserirDados(Connection conexao, String modelo, int numeracao, int quantidade, double precoUnitario) throws SQLException{ String query = "INSERT INTO Chave (MODELO, PRECO_UNITARIO) values (?,?)"; PreparedStatement preparedstatement = conexao.prepareStatement(query); preparedstatement.setString(1, modelo); preparedstatement.setDouble(2, precoUnitario); preparedstatement.executeUpdate();

e continua dando a exceção : Índice da Coluna Inválido

alguem pode me ajudar porfavor