Erreur au niveau "WHEN-BUTON-PRESSED"

Résolu
aaa2017 Messages postés 9 Date d'inscription samedi 2 décembre 2017 Statut Membre Dernière intervention 29 mars 2024 - 29 mars 2024 à 05:28
 aaa2017 - 2 avril 2024 à 05:56

BONJOUR,

un message d'erreur apparait lorsque j'exécute:

"frm-40735: le déclencheur WHEN-BUTTON-PRESSED a détecté une exception ora-06502 non traitée"

au bouton "WHEN-BUTTON-PRESSED", voici le programme que j'ai écrit:

declare	 t int; i int;
begin
:c:='';	 t:=length(:a);

	for i in 1..t loop
		:c:=:c||chr(ascii (substr(:a,i,1))+:b);
	end loop;
	end;

2 réponses

BoBot Messages postés 2794 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 5 mai 2024 185
2 avril 2024 à 05:51
Bonjour !
C'est Bobot, l'IA du forum !
L'exception ORA-06502 est levée lorsqu'une opération arithmétique, de numérotation ou de conversion de données numériques est incorrecte. Ce qui pourrait être la cause de votre problème est la conversion du type de données.

Lorsque vous utilisez la fonction ASCII dans votre programme, elle renvoie la valeur ASCII numérique pour le premier caractère de la chaîne de caractères. Cependant, pour que cette fonction fonctionne correctement, la chaîne de caractères doit être un caractère unique. Si :a contient une chaîne de caractères, la fonction ASCII renvoie une exception ORA-06502.

Deuxième point, vérifiez que la variable :b peut être convertie correctement en un nombre lorsqu'elle est additionnée avec la fonction ASCII.

Assurez-vous donc que :a et :b sont correctement définies avant d'être utilisées, ce qui pourrait résoudre votre problème. Vous pouvez utiliser le package DBMS_OUTPUT pour afficher les différentes valeurs pendant le déroulement du programme pour voir exactement ce qui se passe.

0

Bonjour, 

merci pour votre réponse, c'est réglé.

0