Bonjour,
Ça fait un moment que je tourne en rond alors je me tourne vers vous.
J'ai une fonction stockée qui me renvoi un type personnalisé VARRAY.
Je voudrais récupérer ce VARRAY dans mon code C# mais je n'y parviens pas.
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 FUNCTION GET_PODIUM ( P_COURSE_ID IN COURSE.COURSE_ID%TYPE ) RETURN PODIUM_COMPLET IS PODIUM_GENERE PODIUM_COMPLET; I NUMBER; CURSOR LES_RESULTATS IS SELECT SPORTIF.NOM_SPORTIF FROM V_PODIUM, SPORTIF WHERE V_PODIUM.SPORTIF_NUM = SPORTIF.SPORTIF_NUM AND V_PODIUM.COURSE_ID = P_COURSE_ID; BEGIN OPEN LES_RESULTATS; I := 1; FETCH LES_RESULTATS INTO PODIUM_GENERE(I); WHILE(LES_RESULTATS%FOUND) LOOP FETCH LES_RESULTATS INTO PODIUM_GENERE(I); I := I + 1; END LOOP; CLOSE LES_RESULTATS; RETURN PODIUM_GENERE; END;
J'ai tenté de récupérer ça avec un ExecuteScalar pour stocker dansa un ArrayList mais sans succès.
De plus rien ne m'aiguille puisque le message de l'exception est vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 try { ArrayList test = (ArrayList)objDb.getScalarSQL("SELECT PKG_GENERATION.GET_PODIUM(32) FROM DUAL"); } catch (Exception ex) { MessageBox.Show(ex.Message); }
Information : objDB.getScalarSQL renvoit une instance de "Object".
Si l'un de vous as la réponse ça m'aiderait énormément.
Merci d'avance.
Partager