Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Binaire);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Caractere);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Date);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Entier);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Enumere);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Reel);
La sorte du paramètre doit être d'entrée ou d'entrée-sortie.
La transmission des paramètres doit s'effectuer entre la préparation de la requête Sql, réalisé par l'appel à la méthode PreparerSql, et une ou plusieurs exécutions, réalisées par l'appel à la méthode ExecuterSql.
Si la méthode échoue, alors l'exception ErreurOrdreSql est envoyée.
/****************************************************************/
Procedure ListerEmployes2(MonOrdreSql : Nul Ou IRequeteSql, NumeroDepartement : Entier)
/* Objet : Liste les employes. */
/****************************************************************/
Variable
/******/
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
Ecran.Ecrire("Département "+Caractere(Entier));
Ecran.Ecrire("==============");
MonOrdreSql.EcrireParametre("NumeroDepartement", NumeroDepartement);
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 Procedure
Principal
/*******/
Variable
/******/
MaConnexionSql : Nul Ou ConnexionOracle;
MonOrdreSql2 : Nul Ou IRequeteSql;
SalaireMin : Reel;
SalaireMax : Reel;
SalaireMoyen : Reel;
Debut
...
MonOrdreSql=MaConnexionSql.CreerOrdreSql("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();
ListerEmployes2(MonOrdreSql, 10);
ListerEmployes2(MonOrdreSql, 20);
ListerEmployes2(MonOrdreSql, 30);
...
Fin Principal
- | - | - | - | - | - | - | - | - |