[ Programmation Objet ] Classe pour interoger une BDD

Classe pour interoger une BDD [ Programmation Objet ] - Programmation

Marsh Posté le 29-01-2002 à 11:15:45    

Voilà, j'ai eu des cours d'objets mais c'est pas pour ça que je sais devant un prob quoi faire comme classe, sous classe ...
Je souhaite faire un classe permettant d'interogger une BDD.
Je pense donc faire une classe mère BDD.
Celle-ci aura une méthode Connection, et là où j'hésite c'est pour faire une requète. Est-ce que je fais des sous classes? Est-ce que je différencie les requètes select de insert, update...?
Est-ce que vous auriez déjà fait une classe de ce genre?
 
Pendant que j'y réfléchis de mon côté, merci bien!

Reply

Marsh Posté le 29-01-2002 à 11:15:45   

Reply

Marsh Posté le 29-01-2002 à 12:18:23    

Voilà une ebauche, qu'est-ce que vous en pensez ?
 
Class BDD
{
  Attributs:  
            Objet Connection
            Objet Recordset
 
  Méthodes:
            SeConnecter()
            SeDeconnecter()
            Interoger(RequeteSQL)  
            Executer(RequeteSQL)
}
Class Connection
{
  Attributs:  
            chemin
            driver
            user
            password
  Méthodes:
            SeConnecter()
            SeDeconnecter()
}
Class Recordset
{
  Attributs:
            n°ligne
            n°champ
            nomchamp
  Méthodes:
            Renseigner()          cad remplir le recordset
            tableau GetLigne()    renvoit une ligne du recorset
                                  sous forme d'un tableau
            GetValeur()           renvoit la valeur de la n°ligne
                                  et de la colonne n°colonne
            Lignesuivante()
            Ligneprecedente()
}

Reply

Marsh Posté le 29-01-2002 à 16:10:06    

Allez quoi personne veut m'aider ?
 
En fait avec ce que j'ai fait, je sais pas si c'est une bonne solution car il faudrait aussi que j'ajoute l'attibut connection à la classe RecordSet. Sinon je serait obligé de le trimbaler partout en paramètre et peut ê même de le perdre, non?
 
Please!

Reply

Marsh Posté le 29-01-2002 à 22:09:46    

je n'attacherai pas un recordset à la BDD. Parce que UN recordset n'est pas relatif à un BDD mais à une query SQL


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 30-01-2002 à 08:46:11    

darklord22 a écrit a écrit :

je n'attacherai pas un recordset à la BDD. Parce que UN recordset n'est pas relatif à un BDD mais à une query SQL  




Merci du conseil !
ça veut dire que tu ferais plutôt un truc du genre :
 
Class Connection  
{  
 Attributs:  
           chemin  
           driver  
           user  
           password  
 Méthodes:  
           SeConnecter()  
           SeDeconnecter()  
}  
class Requete : Connection
{
 Attributs:  
           Requete  
}
class RequeteExecuter : Requete        (Requete INSERT,UPDATE...)
{
 Méthodes:  
           Executer()            
}  
class RequeteSelect : Requete
{
 Méthodes:  
           CréerRecordSet()  
}
Class Recordset : RequeteSelect          RecordSet sous classe
{                                          de RequeteSelect
 Attributs:  
           n°ligne  
           n°champ  
           nomchamp  
 Méthodes:  
           Renseigner()          cad remplir le recordset  
           tableau GetLigne()    renvoit une ligne du recorset  
                                 sous forme d'un tableau  
           GetValeur()           renvoit la valeur de la n°ligne  
                                 et de la colonne n°colonne  
           Lignesuivante()  
           Ligneprecedente()  
}  
 
Ce qui se schématise par
 
Connection
   |
   '--Requete
        |
        |--RequeteExecuter
        |
        '--RequeteSelect
                 |
                 '--RecordSet
 
Je pense que ça doit ê à peu près ça non ?

Reply

Marsh Posté le 30-01-2002 à 10:07:35    

Pour t'aider, inspire toi du DAO de Microsoft Access (les objets, leur hiérarchie, les méthodes et propriétés)
Ca peut pê te donner des idées sur ce qu'il faut faire... ou pas !
 
a+

Reply

Marsh Posté le 30-01-2002 à 13:18:53    

ou plutot des classes de JAVA...
elles sont bien..


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed