/***************************************************************/
Interface IBlocSql Defaut TailleSegment 8 ConserverObjets
/* Objet : Interface definissant un bloc Sql. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
NomBlocSql : Caractere Lecture Public Trace;
SourceBlocSql : Caractere Lecture Public;
TailleTableauParametres : 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;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Procedure DeclarerParametre(NomParametre : Caractere, T : Nul Ou Type, SorteDuParametre : SorteParametre=ParametreEntree, 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 LireParametre(NomParametre : Caractere, Valeur : Nul Ou Enumere Sortie);
Procedure LireParametre(NomParametre : Caractere, Valeur : Nul Ou Entier Sortie);
Procedure LireParametre(NomParametre : Caractere, Valeur : Nul Ou Reel Sortie);
Procedure LireParametre(NomParametre : Caractere, Valeur : Nul Ou Caractere Sortie);
Procedure LireParametre(NomParametre : Caractere, Valeur : Nul Ou Date Sortie);
Procedure LireParametre(NomParametre : Caractere, Valeur : Nul Ou Binaire Sortie);
Procedure PreparerSql();
Procedure ExecuterSql();
Fonction Optimiser(Invariant) EnumererParametres(Numero : Entier, TypeParametre : Nul Ou Type=? Sortie,
SorteDuParametre : SorteParametre=? Sortie) Retourner Nul Ou Caractere;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Interface
L'interface IBlocSql modélise un bloc pour une base de données relationnelles accédée en Structured Query Language (SQL).
L'interface IBlocSql ne possède pas de constructeur.
La séquence d'actions sur un ordre Sql est la suivante :
Principal
/*******/
Variable
/******/
C : Nul Ou IBlocSql;
C2 : Nul Ou IBlocSql;
Debut
...
/* On prepare le bloc Sql. */
C.Preparer();
...
/* On execute le bloc Sql. */
C.Executer();
...
Si C==C2 Alors
/* Egalité entre deux blocs Sql. */
...
Fin Si
Si C!=C2 Alors
/* Inégalité entre deux blocs Sql. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |