IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Organisation class pour gestion BDD


Sujet :

Langage C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 21
    Points : 22
    Points
    22
    Par défaut Organisation class pour gestion BDD
    Bonjour tout le monde,

    Je souhaite gérer une base de données avec un programme c++.
    Histoire de bien organiser mon programme, je souhaiterais savoir comment organiser mes classes et surtout qu'est-ce qu'il faut que je mette dedans!
    Vu qu'un bon exemple vaut mieux qu'un long discours, voici au début ce que j'avais pensé et que je me suis finalement aperçut que ce n'était pas forcément la bonne solution:
    une classe BDD qui gère:
    - la connection à la BDD,
    - création de table,
    - modification du mot de passe
    - ...

    une classe select qui me permet simplement de construire une requête dans un QString avec comme méthodes:
    - le constructeur qui créé le début de la requête en écrivant "SELECT " dans ma chaîne de caractères,
    - selectionColonne qui ajoute les colonnes que l'on souhaite avoir dans le résultat,
    - selectionTable qui gère le FROM d'une requête SQL
    - exec qui l’exécute,
    - extraireValeure qui récupère une à une les valeur retour de la requête.
    - ...

    Seulement je me suis aperçut que cette méthode rendrait complexe voir impossible la création de requêtes plus complexes... :/

    Donc j'aurais voulus savoir si vous auriez une petite idée de à quoi devrais ressembler l'organisation de mes classes pour exécuter facilement mes requêtes!

    Merci!

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Tu comptes utiliser une API C/C++ existante, du genre SQLite ?
    Si c'est le cas, ce que tu décris est déjà implémenté, et il te reste seulement à traduire en requêtes SQL les objets/valeurs que tu souhaites charger/sauver depuis/vers ta table.

    [edit]

    Ça m'avait échappé, mais tu utilises apparemment Qt. Donc même remarque, mais pour l'API Qt :
    http://qt-project.org/doc/qt-4.8/database.html

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Sinon, en Qt, tu as QxOrm qui gère la persistance et la réflexion. Par contre, cette lib est dépendante de Boost.

Discussions similaires

  1. Recherche class pour gestion des logfile
    Par altair8080 dans le forum Langage
    Réponses: 1
    Dernier message: 07/08/2013, 13h47
  2. Diagramme de classe pour gestion Stock
    Par othmane41 dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 21/05/2013, 18h34
  3. [PHP 5.2] Classes pour gestion de form et JS
    Par grunk dans le forum Langage
    Réponses: 0
    Dernier message: 24/02/2012, 14h52
  4. Classe pour Gestion Access, DataAdapter ?
    Par Gdal dans le forum Accès aux données
    Réponses: 10
    Dernier message: 02/08/2009, 21h03
  5. Réponses: 2
    Dernier message: 30/03/2007, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo