Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nothunt

probelmas com acesso atraves de stored procedure

Recommended Posts

Olá! Estou a ter problemas com a obtenção de dados de um base de dados

 

O codigo que estou a utlizar é:

 

import java.sql.*;/** * * @author Nothunt */public class Main {		/** Creates a new instance of Main */	public Main() {	}		/**	 * @param args the command line arguments	 */	public static void main(String[] args) {	   java.sql.Connection conn = null;		String xt;		Statement st;		String i="1";		String tipo = "0";		String user ="user";		String pass = "pass";		String nome = "nome";		String apel = "apel";		int typeuser=1;		int userid=0;		String userna= "Nothunt";		String pass1="291782989";						try {												Class.forName("oracle.jdbc.driver.OracleDriver");				conn = DriverManager.getConnection("jdbc:oracle:thin:@RAGE:1521:NOPROBLE","Nothunt","a291782989");			CallableStatement cs3 = conn.prepareCall("{call AUTENTICA_UTILIZADOR1(?,?,?,?,?,?,?,?)}");			cs3.setString(1,userna);			cs3.setString(2,pass1);		   cs3.setString(3,i);			cs3.setString(4,tipo);			cs3.setString(5,user);			cs3.setString(6,pass);			cs3.setString(7,nome);			cs3.setString(8,apel);						cs3.execute();			cs3.registerOutParameter(3,Types.VARCHAR);			cs3.registerOutParameter(4,Types.VARCHAR);			cs3.registerOutParameter(5,Types.VARCHAR);			cs3.registerOutParameter(6,Types.VARCHAR);			cs3.registerOutParameter(7,Types.VARCHAR);			cs3.registerOutParameter(8,Types.VARCHAR);						ResultSet rs3 = cs3.executeQuery();						//user = rs3.getString(4);			typeuser=(int)cs3.getInt(2);			userid=(int)cs3.getInt(3);			user = (String) cs3.getObject(4);			pass = (String) cs3.getObject(5);			nome = (String) cs3.getObject(6);			apel = (String) cs3.getObject(7);						System.out.println("resultado-1: "+typeuser);			System.out.println("resultado0: "+userid);			System.out.println("resultado1: "+user);			System.out.println("resultado2: "+pass);			System.out.println("resultado3: "+nome);			System.out.println("resultado4: "+apel);		   while(rs3.next()) {				tipo = rs3.getString(2);				user = rs3.getString(3);				pass = rs3.getString(4);				nome = rs3.getString(5);				apel = rs3.getString(6);				System.out.print("tipo: "+tipo);				System.out.print("user: "+user);				System.out.print("pass: "+pass);				System.out.print("nome: "+nome);				System.out.print("apel: "+apel);			}						conn.close();	   }				catch(Exception e){System.out.println(e.getClass().getName() + ": " + e.getMessage());} // TODO code application logic here	 // TODO code application logic here	}	}
para o procedimento:

 

PROCEDURE AUTENTICA_UTILIZADOR1( AUTVARINUSERNAME 	IN  UTILIZADORES.USERNAME%TYPE, AUTVARINPASSWORD 	IN  UTILIZADORES.PASSWORD%TYPE, AUTVAROUTIDUTILIZADOR	OUT UTILIZADORES.ID_UTILIZADOR%TYPE, AUTVAROUTIDTUTILIZADOR  OUT UTILIZADORES.ID_TIPO_UTILIZADOR%TYPE, AUTVAROUTUSERNAME	   OUT UTILIZADORES.USERNAME%TYPE, AUTVAROUTPASSWORD	   OUT UTILIZADORES.PASSWORD%TYPE, AUTVAROUTNOUTILIZADOR   OUT UTILIZADORES.NOME_UTILIZADOR%TYPE, AUTVAROUTAPUTILIZADOR   OUT UTILIZADORES.APELIDO_UTILIZADOR%TYPE)ASBEGINSELECT	 UTILIZADORES.ID_UTILIZADOR,		   UTILIZADORES.ID_TIPO_UTILIZADOR,		   UTILIZADORES.USERNAME,		   UTILIZADORES.PASSWORD,		   UTILIZADORES.NOME_UTILIZADOR,		   UTILIZADORES.APELIDO_UTILIZADORINTO   			AUTVAROUTIDUTILIZADOR,			AUTVAROUTIDTUTILIZADOR,			AUTVAROUTUSERNAME,			AUTVAROUTPASSWORD,			AUTVAROUTNOUTILIZADOR,			AUTVAROUTAPUTILIZADOR	   		   		   		   FROM UTILIZADORESWHERE AUTVARINUSERNAME = USERNAME AND	  AUTVARINPASSWORD = PASSWORD;END;
como resultado obtenho:

 

 

 

" avairaiveis de saida não foram declaradas"

 

 

podem ajudar-me?

 

sem mais os melhores cumprimentos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.