Executar procedure invalid handle

1 resposta
R
Boa tarde, estou com problemas para executar uma procedure, para isso testei com o insert into e com a procedure Abaixo segue pelo insert normal, funciona ok
public boolean incluir(Fabricante fab) throws SQLException  {
        Conexao conexao = new Conexao();
        PreparedStatement cstmt =
        conexao.getConexao().prepareStatement("insert into fabricante values (?, ?) ");
         cstmt.setString(1, fab.getNome());
        cstmt.setString(2, fab.getTelefone());
        //pegar o numero de registros inseridos
        int registros = cstmt.executeUpdate();

        //verificar se encontrou o registro
        if (registros == 1) {
            return true;
        } else {
            return false;
        }
    }
Pela procedure
public boolean adicionarFabricante(Fabricante objFabricante) throws SQLException {
          con = new Conexao();
        PreparedStatement cstmt = con.getConexao().prepareCall("{call adicionar_fabricante(?,?)}");
        cstmt.setString(1, objFabricante.getNome());
        cstmt.setString(2, objFabricante.getTelefone());
        cstmt.execute();
        cstmt.close();
        int registros = cstmt.executeUpdate();
        if (registros == 1){
            return true; }
        else {
            return false; }
ao executar pela procedure da o erro "invalid handle" Está certo o int registros = cstmt... ou não é igual ao insert into

estou usando o odbc e o banco e o sql server

1 Resposta

pmlm
rafinha_ft9:
cstmt.execute();
        cstmt.close();
        int registros = cstmt.executeUpdate();
Estás a tentar executar depois do close.
Criado 30 de outubro de 2010
Ultima resposta 30 de out. de 2010
Respostas 1
Participantes 2