Impossible de récupérer un VARRAY d'oracle
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.
Code:
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; |
Je voudrais récupérer ce VARRAY dans mon code C# mais je n'y parviens pas.
J'ai tenté de récupérer ça avec un ExecuteScalar pour stocker dansa un ArrayList mais sans succès.
Code:
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);
} |
De plus rien ne m'aiguille puisque le message de l'exception est vide.
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.