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

Bases de données Discussion :

Une BDD "permanente et réutilisable"?


Sujet :

Bases de données

  1. #1
    Invité
    Invité(e)
    Par défaut Une BDD "permanente et réutilisable"?
    Bonjour,
    Je voudrais créer un programme gérant avec Qt gérant une base de données de type MySQL ou SQLlite. J'ai vu dans la doc qu'il y avait de nombreuses possibilités dans la gestion de BDD. Mais, ce que je cherche, c'est le moyen de créer une base de donnée "permanente", de façon à ce qu'elle soit entièrement créée lors de la première utilisation du programme, puis qu'elle puisse être mise à jour par la suite. Tout ce que j'ai trouvé pour l'instant, c'est comment faire une BDD de type ":memory:", et qui disparait donc complètement lorsque l'on quitte le programme. Il y a aussi la possibilité de se connecter sur une BDD externe, celle d'un site par exemple, mais je voudrais éviter l'utilisation de tout autre logiciel comme EasyPHP (il faut avouer que ce n'est pas très pratique :p ), et la connexion à Internet, de sorte que chaque BDD soir propre à chaque PC, et puisse être modifiée facilement avec les requêtes "de base" en SQL.
    Je suppose que mon problème a une solution, mais malgré mes recherches dans la doc, je n'ai pas réussi à la trouver... Je précise que pour le moment, je suis avec Qt 4.4.0, et que je n'ai pas les moyens de passer à la dernière version tout de suite.
    Merci par avance pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 214
    Points : 115
    Points
    115
    Par défaut
    Une base de donnée MySQL s'installe sur un ordinateur. Il suffit de connecter le programme à la base à chaque démarrage. Seulement, pour chaque installation, il faut installer MySQL et tout paramètrer. Après, du coté de SQLite, ça doit être plus facile à mettre en oeuvre mais je n'ai jamais fait.

    Bon courage !

  3. #3
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Citation Envoyé par Dreamker Voir le message
    Tout ce que j'ai trouvé pour l'instant, c'est comment faire une BDD de type ":memory:", et qui disparait donc complètement lorsque l'on quitte le programme.
    Read the doc, Luke...

    Remplaces :memory: par toto.db et tadaaa, tu auras un fichier sqlite dans le répertoire d'exécution de l'appli

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ok, effectivement, c'est plutôt simple :p ... J'avais pensé à un système de ce genre (en attendant la solution plus efficace qui vient de m'être apportée ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    QSqlQuery query;
    query.exec("CREATE TABLE maTable (id int primary key, unChamp varchar(100), unAutreChamp int, etUnTroisiemeChamp varchar(100)");
    //On initialise la base de donnée en créant la table et les champs
     
    QFile fichierData("data.sql");//On ouvre le fichier contenant les instructions
    fichierData.open(QIODevice::ReadOnly);
    QByteArray stringTemp;	
    while(!fichierData.atEnd())
    {
    	stringTemp = fichierData.readLine();
    	QStrig data(stringTemp);		
    	query.exec(data);//Et on exécute les instructions une à une
    }
    En mettant à jour les instructions dans le fichier data.sql en temps réel.
    Mais ça a l'inconvénient de devoir recréer la base à chaque fois, et puis transformer une modification depuis l'interface graphique en instruction SQL, c'est pas que c'est pas possible, mais bon, c'est pas forcément très simple non plus !
    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TSQL]Probleme d'insertion d'une chaine (varchar) contenant un simple quote
    Par Anthony.Desvernois dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2007, 15h57

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