Bonjour à tous,

Voilà, je viens de récupérer une application développée par plusieurs personnes !!!

J'ai modifié une procédure stockée pour qu'elle retourne 2 curseurs, maintenant je voudrais récupérer le contenu de mon deuxième curseur mais je ne sais vraiment pas comment m'y prendre

Voici mon code java qui me permet de récupérer le contenu de mon premier curseur

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
// Prepare to call the stored procedure S_RECHERCHE
OracleCallableStatement cstmt = (OracleCallableStatement)conn.prepareCall ("{call MCIC.PACK_MCIC.S_RECHERCHE_INTRANET_NC (?,?,?,?,?,?,?,?,?,?,?)}");					
// Declare that the 2 ? are return value
cstmt.registerOutParameter (1, oracle.jdbc.driver.OracleTypes.CURSOR);
cstmt.registerOutParameter (2, oracle.jdbc.driver.OracleTypes.CURSOR);
cstmt.registerOutParameter (3, OracleTypes.INTEGER);
// place les parametres
cstmt.setString (4, nom);  		// The name argument is the second ?
cstmt.setString (5, prenom);		// The firstname argument is the third ?
cstmt.setString (6, numrel);		// Numéro de relation
cstmt.setString (7, numcpt);		// Numéro de compte
cstmt.setString (8, numtva);		// Numéro de TVA
cstmt.setString (9, tcpid);		// Identifiant de code postal
cstmt.setString (10, conid);		// Identifiant du contact
cstmt.setString(11,dans_mes_contacts); //Indique si la recherche doit s'effectuer dans les contacs de l'utilisateur
cstmt.execute ();
 
 
// Prepare to call the XMLQuery
OracleXMLQuery qry = new OracleXMLQuery(conn,(OracleResultSet)cstmt.getObject (1));   // create a OracleXMLQuery instance
qry.keepObjectOpen(true); // Don't lose state after the first fetch
//Get the XML string
String xmlString = qry.getXMLString();
//encoding='iso-8859-1' pour les caractères accentués
int pos = xmlString.indexOf("?>");
xmlString = xmlString.substring(0,pos) + " encoding='iso-8859-1'" + xmlString.substring(pos);
//specifie le fichier xsl à utiliser
pos = xmlString.indexOf(">") +1;
System.out.println(xmlString);
xmlString = xmlString.substring(0,pos) + " <?xml-stylesheet type='text/xsl' href='html/mcic/recherche/Recherche.xsl'?>" + xmlString.substring(pos);
//Write the response to the client
response.setContentType("text/html");
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0); //prevents caching at the proxy server
PrintWriter out = response.getWriter();
out.print(xmlString);
// Close all the resources
cstmt.close();
cstmt = null; 
qry.close();
qry = null;
Je vous remercie d'avance