Procedure DeclarerResultat(NomParametre : Caractere, T : Nul Ou Type, TailleMax : Entier=0);
Les seuls types supportés sont :
Pour les types Binaire et Caractere, il existe deux possibilités :
La limite de taille entre données courtes et données longues est laissée à la discrétion du programmeur, sachant que le principe du Array Fetch Processing n'est pas possible avec des résultats de données longues.
La gestion des données courtes ou des données longues est effectuée automatiquement par Up ! Virtual Technical Machine.
Pour les types de données Date, Entier, Enumere et Reel, la valeur du paramètre TailleMax est ignorée.
Les résultats du source de la requête Sql sont identifiés par des pseudo-variables. Ils doivent tous être déclarés explicitement par l'appel à cette méthode.
Si la méthode échoue, alors l'exception ErreurOrdreSql est envoyée.
Principal
/*******/
Variable
/******/
MaConnexionSql : Nul Ou ConnexionOracle;
MaRequeteSql : Nul Ou IRequeteSql;
MonResultatSql : Nul Ou ResultatRequeteSql;
Enregistrement : Nul Ou EnregistrementSql;
NomEmploye : Nul Ou Caractere;
DateEmbauche : Nul Ou Date;
NumeroEmploye : Nul Ou Entier;
Salaire : Nul Ou Reel;
Debut
...
MonOrdreSql=MaConnexionSql.CreerRequeteSql("SELECT ename:=${NomEmploye}, hiredate:=${DateEmbauche}, empno:=${NumeroEmploye}, sal:=${Salaire} FROM emp WHERE deptno=${NumeroDepartement};", 5);
MonOrdreSql.DeclarerParametre("NumeroDepartement", Entier);
MonOrdreSql.DeclarerResultat("NomEmploye", Caractere, 20);
MonOrdreSql.DeclarerResultat("DateEmbauche", Date);
MonOrdreSql.DeclarerResultat("NumeroEmploye", Entier);
MonOrdreSql.DeclarerResultat("Salaire", Reel);
MonOrdreSql.PreparerSql();
MonOrdreSql.EcrireParametre("NumeroDepartement", 10);
MonOrdreSql.ExecuterSql();
MonResultatSql=MonOrdreSql.LireResultatRequete();
Pour Enregistrement=MonResultatSql.ParcoursAuDebut() JusquA MonResultatSql.DernierElement() Faire
Enregistrement.LireResultat("NomEmploye", NomEmploye);
Enregistrement.LireResultat("DateEmbauche", DateEmbauche);
Enregistrement.LireResultat("NumeroEmploye", NumeroEmploye);
Enregistrement.LireResultat("Salaire", Salaire);
Ecran.Ecrire(NomEmploye+" "+Caractere(DateEmbauche)+" "+Caractere(NumeroEmploye)+" "+Caractere(Salaire));
Fin Pour
...
Fin Principal
- | - | - | - | - | - | - | - | - |