bonjour,

j'ai une procedure simple me permettant d'intervertir deux elements d'une liste. j'appelle cette procedure dans une page aspx ( c#).

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
 
procedure swapPosition (idParent in varchar2, idElement in varchar2,currentPosition in varchar2, buttonValue in varchar2, IsResults out rs_rows) is
-------------------------------------------------------------------------------------
 
newPosition varchar2(30);
Noresults varchar2(40);
 
begin
 
 
if buttonValue = 'up'then
   newPosition := currentPosition -1;
else 
   newPosition := currentPosition +1;
end if;
 
select dnod_id into results
  from pns_document_relations
  join pns_document_nodes on id = dnod_id
 where dnod_id_parent  = idParent
   and document_position = newPosition
   and dnod_id		  <> idElement;
 
 
		 update pns_document_relations 
	        set document_position = newPosition
	      where dnod_id  		  = IdElement
	        and dnod_id_parent 	  = idParent ;
 
		 update pns_document_relations
			set document_position = currentPosition
		  where dnod_id           = results
		    and dnod_id_parent    = idParent; 
 
exception
when no_data_found then
Noresults :=' sorry, but you can not move the item ';
 
 
end swapPosition;
en fait si le select ne retourne pas de resultats, l'exception est levee, sinon les deux updates sont executes.

je voulais savoir si je pouvais afficher le resultat de l'exception dans ma page aspx par le biais du curseur "IsResults". Parce que pour l'instant quand le select ne renvoie pas de ligne, j'ai une erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ORA-24338: statement handle not executed
merci pour votre aide, conseils ... ( en esperant ne pas avoir ete trop fouillis dans ma question )
A++