/***************************************************************/
Type RequeteDb2 Defaut TailleSegment 8 ConserverObjets
/* Objet : Type definissant une requête pour Db2. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'IRequeteSql. */
/*-------------------------------------------------------------*/
Prive :
NomRequeteSql : Caractere Lecture Public Trace;
SourceRequeteSql : Caractere Lecture Public;
TailleTableauParametres : Entier Lecture Public;
TailleTableauResultats : Entier Lecture Public;
TempsDeGarde : Entier Lecture Public;
ConnexionSqlMere : Nul Ou IConnexionSql Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IOrdreSql. */
/*-------------------------------------------------------------*/
Public :
Procedure DeclarerParametre(NomParametre : Caractere, T : Nul Ou Type, TailleMax : Entier=0);
Procedure DeclarerResultat(NomParametre : Caractere, T : Nul Ou Type, TailleMax : Entier=0);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Enumere);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Entier);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Reel);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Caractere);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Date);
Procedure EcrireParametre(NomParametre : Caractere, Valeur : Nul Ou Binaire);
Procedure PreparerSql();
Fonction ExecuterSql(ModeOptimisation : ModeOptimisationFlux=AsynchroneSysteme) Retourner Nul Ou IResultatRequete;
Fonction Optimiser(Invariant) EnumererParametres(Numero : Entier, TypeParametre : Nul Ou Type=? Sortie,
SorteDuParametre : SorteParametre=? Sortie) Retourner Nul Ou Caractere;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type RequeteDb2 modélise une requête pour une base de données relationnelles Db2 d'Ibm.
Le type RequeteDb2 ne possède pas de constructeur.
La séquence d'actions sur une requête Sql est la suivante :
Principal
/*******/
Variable
/******/
O : Nul Ou RequeteDb2;
O2 : Nul Ou RequeteDb2;
Debut
...
/* On prepare le requête Sql. */
O.Preparer();
...
/* On execute le requête Sql. */
O.Executer();
...
Si O==O2 Alors
/* Egalité entre deux requêtes Sql. */
...
Fin Si
Si O!=O2 Alors
/* Inégalité entre deux requêtes Sql. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |