Olá pessoal, sei que para receber o resultado de um SELECT faço isso com um ResultSet assim:
try{StatementStmt=conn.createStatement();ResultSetrs=Stmt.executeQuery(SQLSelect);while(rs.next()){StringNome=(rs.getString("Nome_func"));System.out.println(Nome);}returnrs;}catch(SQLExceptionErro){Erro.printStackTrace();System.out.println("Não foi possível executar o comando: "+SQLSelect);thrownewException("Não foi possível executar a consulta desejada.");}
mas se for uma SP? que irá retornar somente uma mensagem? mas que tenha um update e um select nela por exemplo, oque irá receber essa sp pra mostrar o resultado na tela ? Tentei fazer o mesmo que no select mas me retornou um erro.
Blz! executou, só falta me retornar o resultado da sp, o site que me passou mostra pra retornar vesultado dos parametro de saída, mas no caso desta SP, é somente uma mensagem que irá retornar, essa msg ta armazenada em uma variavel da SP, como faço pra retornar essa msg?
Obrigado!
M
mezini
Fabio, faz a atribuição da variavel ao parametro out, dentro da SP.
Abraços.
fabiojpoli
mezini:
Fabio, faz a atribuição da variavel ao parametro out, dentro da SP.
Abraços.
Eu pensei em fzr isso tbm, quer dizer que terei que fazer todas as saídas das minhas sp como parametro de saída? Somente assim para retornar o resultado?
Obrigado!
fabiojpoli
mezini:
Fabio, faz a atribuição da variavel ao parametro out, dentro da SP.
Abraços.
fiz isso, mas naum deu certo:
publicCallableStatementSQLSelect(StringSQLSelect)throwsException{try{CallableStatementcs=conn.prepareCall(SQLSelect);cs.execute();StringoutParam=cs.getString(1);System.out.println(outParam);returncs;}catch(SQLExceptionErro){Erro.printStackTrace();System.out.println("Não foi possível executar o comando: "+SQLSelect);thrownewException("Não foi possível executar a consulta desejada.");}}publicvoidValidaLogin(Funcionariofunc)throwsInstantiationException,IllegalAccessException,ClassNotFoundException,SQLException{Conexaoconn=newConexao();conn.Conecta();Stringsql="{call sp_ValidaUs('"+func.getLoginFunc()+"','"+func.getSenhaFunc()+"')}";try{conn.SQLSelect(sql);conn.Disconecta();}catch(Exceptione1){System.out.println("Erro!");//cai aqui}conn.Disconecta();}
fabiojpoli
fabiojpoli:
mezini:
Fabio, faz a atribuição da variavel ao parametro out, dentro da SP.
Abraços.
Eu pensei em fzr isso tbm, quer dizer que terei que fazer todas as saídas das minhas sp como parametro de saída? Somente assim para retornar o resultado?
Obrigado!
Consegui com ajuda de um colega:
publicCallableStatementSQLSelect(StringSQLSelect)throwsException{try{CallableStatementcs=conn.prepareCall(SQLSelect);cs.registerOutParameter(1,Types.VARCHAR);cs.executeUpdate();// ou executeQuery(); StringoutParam=cs.getString(1);System.out.println(outParam);cs.execute();/*String outParam = cs.getString(1); System.out.println(outParam);*/returncs;}catch(SQLExceptionErro){Erro.printStackTrace();System.out.println("Não foi possível executar o comando: "+SQLSelect);thrownewException("Não foi possível executar a consulta desejada.");}}publicvoidvalidaLogin(FuncionariofuncLog)throwsInstantiationException,IllegalAccessException,ClassNotFoundException,SQLException{Conexaoconn=newConexao();conn.Conecta();Stringsql="{call sp_ValidaUs('"+funcLog.getLoginFunc()+"','"+funcLog.getSenhaFunc()+"',?)}";try{conn.SQLSelect(sql);}catch(Exceptione1){System.out.println("Erro!");}conn.Disconecta();}