Olá pessoal do forum, sou iniciante em programação e estou precisando da ajuda de vocês. Estou desenvolvendo uma aplicação web e preciso executar algumas procedures nesta aplicação. Mas nunca fiz e não faço idéia de como fazer.
Será que vocês poderiam me passar algum exemplo ?
Desde já agradeço a ajuda de todos.
Qual banco de dados que vc usa??
Eu fiz uma aplicação de teste usando procedures mas tive problemas na string de chamar a procedure dessa maneira String proc = “{call procedure}”;.
No firebird, q estou usando, consegui fazer assim:
String proc = “execute procedure nome_procedure”;
Se tiver parâmetros que vc deva passar:
String proc = “execute procedure nome_procedure(?)” ;
Se retornar alguma coisa:
String proc = “? = execute procedure nome_procedure” ;
Os objetos que vc precisa pra chamar a procedure é o seguinte:
Depois te ter feito a conexão:
CallableStatement st = conn.prepareCall(proc);
Se vc tiver parâmetros pra passar…
st.setString(1, “teste”); OBS: Existe um setXX pro tipo específico q vc procura. O “1” é o índice do ponto de interrogação. Se tiver mais do que um parâmetro é só seguir a ordem 2…3…4
Se tiver parâmetros pra receber, vc deve registrar ele:
st.registerOutParameter(1, Types.VARCHAR); OBS: vc deve especificar o tipo do retorno, Types.xxx tem vários tipos usados em banco de dados.
Qdo terminar de fazer isso…se a procedure ñ retornar nenhum ResultSet, vc usa o método: cs.execute()
para executar a procedure…
para resgatar os valores retornados pela procedure, use cs.getString(1);
OBS: exisite um getXX para outros tipos e o parâmetro q vc passa pode ser o índice ou o nome da variável de retorno…exemplo cs.getString(“nome”);
É isso…se tiver alguma dúvida…posta q agente tenta ajudar…
abraços