IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

resultat d'1 procedure stockee


Sujet :

JDBC Java

  1. #1
    Membre actif
    Avatar de clio671
    Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2007
    Messages : 203
    Points : 236
    Points
    236
    Par défaut resultat d'1 procedure stockee
    bonjour,

    actuellement je travaille sur une procedure qui est sense me renvoyer une liste d'employés depuis une base oracle mais il ne me renvoie rien, pouvez vous regarder un peu mon code pour voir ce qui ne va pas svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    public void/*Vector<Employe>*/ listeEmployes(int nuServ) throws SQLException  
    	{
    		CallableStatement callstmt = null ;
    		ResultSet rset = null ;
    		try
    		{
    			System.out.println("conn="+!conn.isClosed());
    			callstmt = conn.prepareCall("call licpro.gestion.liste_employe(?,?)") ;
    			callstmt.setInt(1,nuServ) ;             // pour le parametre d'entree
    			callstmt.registerOutParameter(2,OracleTypes.CURSOR) ;  //pour le parametre de sortie
    			callstmt.execute() ;
     
    			rset = ((OracleCallableStatement)callstmt).getCursor(2) ;
     
    //			columnNames.add("numero employe") ;
    //			columnNames.add("nom employe") ;
    //			columnNames.add("duree hebdomadaire de travail") ;
    //			columnNames.add("total des temps de travail sur les projets") ;
    //			columnNames.add(" numero du service d'affectation") ;
    //			columnNames.add(" nom du service d'affectation") ;
     
    			Vector ligne = new Vector() ;
    			while (rset.next())
    			{
    				/*ligne.add(rset.getInt("rrr")) ;
     
    				// Ajout de la ligne au tableau
    		        listeEmploye2.add(ligne) ;
    		        ligne = new Vector() ;   */
     
    			//}	
    			}		
    				listeEmploye.add(
    						new Employe
    						(
    								rset.getInt("NUEMPL"),
    								rset.getString("nomEmp"),
    								rset.getInt("hebdo")
    								)
    						) ;  
    				listeEmploye.addAll(employes) ;				
    				//employes = new Vector() ;
    				//}
     
    		}
     
    		catch(SQLException e)
    		{
    			switch(e.getErrorCode())
    			{
    			case -20002 :
    				message = "le service "+ nuServ + " n'existe pas " ;
    			case -20999 :
    				message = "erreur inattendue : 20999 " + e.getMessage() ;
    			}
    		}
    		finally 
    		{ 
    			try 
    			{
    				if (rset != null)
    					rset.close();
    				if (callstmt != null) 
    					callstmt.close();
    			} 
    			catch (SQLException e) 
    			{				System.out.println("Erreur anormale JDBC! prevenez l administrateur en lui indiquant : ce code : "+e.getErrorCode()+" et ce message : "+e.getMessage());
    			}  
     
    		}
    		//return listeEmploye ;
     
    	}
    avec comme variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class EmployeDAO {
     
    	//private Vector<Employe> listeEmploye;
    	private Connection connection;
    	private Vector employes;
    	private String message;
    	private Object rset;
    	public static Connection conn ;
    	private Vector listeEmploye2 ;
    	private Vector listeEmploye;
     
    public EmployeDAO(Vector listeEmploye)
    	{
    		this.listeEmploye2 = listeEmploye2 ;		
    	}
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Vector getListeEmploye() {
    		return listeEmploye2;
    	}
     
    	public void setListeEmploye(Vector listeEmploye) {
    		this.listeEmploye2 = listeEmploye;
    	}
    merci d'avance
    bye

  2. #2
    Membre confirmé

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Points : 553
    Points
    553
    Par défaut
    Voila ce que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                cs = conn.prepareCall("{ call pkg_admin.getListeAdministrateurs(?) }");
                cs.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
                cs.execute();
                rs = (ResultSet) cs.getObject(1);
     
                while (rs.next()) { 
                            ...
                }

Discussions similaires

  1. Recuperer le resultat d'une procedure stockee
    Par davidou2001 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/06/2007, 13h13
  2. procedure stockee et sql
    Par fred33 dans le forum SQL
    Réponses: 2
    Dernier message: 27/11/2003, 10h23
  3. [VB6] [ADO] Procedure stockée : spécifier les paramètres
    Par adepdoom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/10/2002, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo