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
- | - | - | - | - | - | - | - | - |