Bonjour,
je cherche a appelé une procedure stocké. l'appel se fait correctement mais les valeurs retourné par mes OutParametres sont totalement faux. Voici mon code
l'appel a la procedure
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 private static final String b1="I_A"; private static final String c1="I_B"; private static final String a1="I_M"; private static final String Result="O_R"; private static final String Montant="O_A"; private int montant; private String a; private int b;//verifgeronimo private int result; private String c; private String nameProc; public CallStoredProcedure(DataSource dataSource, String nomProced){ nameProc=nomProced; setDataSource(dataSource); setFunction(false); setSql(nomProced); declareParameter(new SqlOutParameter(Result, Types.INTEGER ));//ici declarer les parametres de la procedure declareParameter(new SqlOutParameter(Montant, Types.INTEGER)); declareParameter(new SqlParameter(a1, Types.VARCHAR));//ici declarer les parametres de la procedure declareParameter(new SqlParameter(b1, Types.INTEGER));//ici declarer les parametres de la procedure declareParameter(new SqlParameter(c1, Types.VARCHAR));//ici declarer les parametres de la procedure compile(); } public Map execute() { Map inputs=new HashMap(); inputs.put(a1,a); inputs.put(b1, b); inputs.put(c1, c); return execute(inputs); }
La signature de laprocedure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CallStoredProcedure mystored= new CallStoredProcedure(dataSource,sql); mystored.setA(a); mystored.setB(b); mystored.setC(c); results = mystored.execute();lors de l'execution aucune exception n'est declenché mais comme je l'ai dis precedament les valeurs retourné sont erronné : 0 , 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE OR REPLACE PROCEDURE CHECK_TEST( I_M IN VARCHAR2, I_A IN INTEGER, I_B IN VARCHAR2, O_R OUT INTEGER, O_A OUT INTEGER)
Si quelqu'un a une idéé , je suis preneur.
Merci d'avance.
Partager