procédure stockée + Oracle
Bonjour,
j'utilise Oracle 8i, Delphi7 et les composants DbExpress avec le driver Oracle.
J'ai crée un package sous Oracle qui est le suivant
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 28 29 30 31 32
|
CREATE OR REPLACE PACKAGE mmarcte.TESTPATRICK IS
--
TYPE cur_adhe IS REF CURSOR ;
--
PROCEDURE SelectListeAdhesion ( ai_s_numadhe IN VARCHAR2,
ai_s_nomadhe IN VARCHAR2,
ai_s_codintadhe IN VARCHAR2,
ai_s_souscadhe IN VARCHAR2,
aio_cur_adhe IN OUT cur_adhe ) ;
--
END ;
/
PROMPT CREATE OR REPLACE PACKAGE BODY mmarcte.testpatrick
CREATE OR REPLACE PACKAGE BODY mmarcte.TESTPATRICK IS
--
PROCEDURE SelectListeAdhesion ( ai_s_numadhe IN VARCHAR2,
ai_s_nomadhe IN VARCHAR2,
ai_s_codintadhe IN VARCHAR2,
ai_s_souscadhe IN VARCHAR2,
aio_cur_adhe IN OUT cur_adhe )
IS
--
BEGIN
OPEN aio_cur_adhe FOR SELECT adhe_cod_prod, adhe_no_adhes, adhe_interne, adhe_nomprenom, adhe_cod_etat, adhe_no_bull
FROM adhesions
ORDER BY adhe_no_adhes ASC ;
END SelectListeAdhesion ;
--
END ; |
Je souhaite afficher le résultat du Select dans un DbGrid. J'ai donc mis un tsqlconnection, un tsqlstoredproc, j'ai paramétré mon tstoredproc
Jusque là pas de problème
Je l'appele comme suit dans le code
Code:
1 2 3 4 5 6 7 8 9 10
| with DmBoss.SQLStoredProc1 do
begin
Active := False;
Params.ParamByName ('ai_s_souscadhe').AsString := '';
Params.ParamByName ('ai_s_codintadhe').AsString := '';
Params.ParamByName ('ai_s_nomadhe').AsString := '';
Params.ParamByName ('ai_s_numadhe').AsString := '';
// Params.ParamValues ['aio_cur_adhe'] := '';
Active := True;
end; |
Et lorsque j'exécute j'ai le message suivant :
Code:
1 2 3 4
|
PLS-00306 : nombres ou types d'arguments erronés dans l'appel à SELECTLISTEADHESION
ORA-06550 : Line1, column 7
PL/SQL : statement ignored' |
A priori ma procédure stockée est OK mais j'arrive pas à l'utiliser dans Delphi
Je sais qu'avec Sql Server j'enlevait le Result des PS qui posait souci mais là cela ne fonctionne pas
Pouvait m'aider
Merci[/quote]