problème Informix
Posted in 2004
Topics: Stored Procedures & SPL, Connectivity: ESQL/C, 4GL & Embedded SQL
Translated from English by DrWatson — View original
Bonjour, J'ai une question à propos d'Informix 4GL. Dans mon programme 4GL, les instructions sont les suivantes... ``` main ........ let err=op2() if err >=0 then display ' errors here ....' rollback work end if end main functon op2() if .... return 1 end if end function ``` J'essaie de récupérer la valeur renvoyée par la fonction op2() dans la variable err. Et si err > 0, cela signifie qu'il y a des erreurs : le programme devrait alors tout annuler (rollback) et s'arrêter. J'ai vérifié les données, op2() devrait renvoyer 1, mais ce n'est pas le cas. Le comportement n'est pas celui que je souhaite. Je ne vois pas où est le problème. Merci de me donner quelques conseils. Merci d'avance. Tout message de votre part sera apprécié.
daisy a écrit : > Bonjour, > J'ai une question à propos d'informix 4gl. > Dans mon programme 4gl, les instructions sont les suivantes... > > main > ........ > let err=op2() > if err >=0 then > display ' errors here ....' > rollback work > end if > end main Si 0 = OK et 1 = erreur, alors vous devriez tester si err est différent de 0 > > functon op2() > > if .... > return 1 > end if > > end function > Que retourne op2() s'il n'y a pas d'erreur ? En 4GL, le booléen TRUE a la valeur 1 et FALSE la valeur 0 ou NULL. Vous pouvez utiliser TRUE et FALSE dans les instructions. En utilisant les booléens, la structure pourrait ressembler à ceci : function op2() ... if error condition then return FALSE end if return TRUE end function main ... if op2() then commit work else rollback work display error msg end if end main > J'ai essayé de récupérer la valeur retournée par la fonction op2 dans la variable err. > Et si err > 0, cela signifie qu'il y a des erreurs, le programme > devrait tout annuler (rollback) et s'arrêter. J'ai vérifié les données, op2() devrait > retourner 1 ; mais ce n'est pas le cas. Ça ne s'est pas comporté comme je le voulais. > > Je ne sais pas ce qui ne va pas. > Merci de me donner quelques conseils. > > > > merci d'avance > tout message de votre part sera apprécié