Problema com chamada de procedure

0 respostas
lvolgarini

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

Criado 5 de agosto de 2009
Respostas 0
Participantes 1