Nothunt 0 Denunciar post Postado Julho 10, 2006 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
nordi 1 Denunciar post Postado Julho 19, 2006 Já fez o teste fixou os valores e veiu se ela retorna alguma resultado ? At+ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites