Fonction ExecuterSql(ModeOptimisation : ModeOptimisationFlux=AsynchroneSysteme) Retourner Nul Ou IResultatRequete;
Up ! Virtual Technical Machine rècupère tous les enregistrements produits par la requête Sql et les conserve dans un espace de mémoire virtuelle dont la taille de l'anté-mémoire est définie par la valeur du paramètre ModeOptimisation. Pour plus de précisions, merci de se référer à la fiche ModeOptimisationFlux.
Cette méthode a deux avantages :
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
| - | - | - | - | - | - | - | - | - |