Boa Tarde Pessoal!!
Estou tendo problema na hora de chamar uma procedure!
Segue o código do método
Banco banco = Banco.getInstance(Support.getParametro());
CallableStatement cs = banco.getCallableStatement("{ call insere_contato_proc("+_target+", \""+_nome+"\", \""+_telefone+"\", \""+_telefone2+"\", \""+_telefone3+"\", \"" +
_mail + "\", "+_operadora+", "+_grupo+", @retorno) }");
int retorno = 0;
/*cs.setInt(1, Integer.valueOf(_target));
cs.setString(2, _nome);
cs.setString(3, _telefone);
cs.setString(4, _telefone2);
cs.setString(5, _telefone3);
cs.setString(6, _mail);
cs.setInt(7, Integer.valueOf(_operadora));
cs.setInt(8, Integer.valueOf(_grupo));*/
System.out.println(cs.toString());
System.out.println(cs.execute());
Podem observar q tem um codigo comentado, pois não está fazendo diferença se uso os metodos sets do objeto cs ou deixo os parametros passando direto no metodo getCallableStatement.
Segue o código do método getCallableStatement
public CallableStatement getCallableStatement(String string) throws SQLException {
return conexao.prepareCall(string);
}
Ésta acontecendo o seguinte erro:
java.lang.ArrayIndexOutOfBoundsException: 7
at com.mysql.jdbc.CallableStatement.setOutParams(CallableStatement.java:2081)
at com.mysql.jdbc.CallableStatement.execute(CallableStatement.java:750)
at codigos.bd.tabelas.contatos_tbl.BdContatosTbl.insereContato(BdContatosTbl.java:90)
Não faço a mínima ideia pq está dando erro, pois qdo faço a chamada da procedure no mysql executa normal!
Grato
Lucas