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 :

Valorisation de base de données avec des variables


Sujet :

Bases de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Etudiant - eXia Cesi (toulouse)
    Inscrit en
    Janvier 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant - eXia Cesi (toulouse)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Valorisation de base de données avec des variables
    bonjour a tous je suis nouveaux sur le forum. je me permet de poster car je ne trouve aucune solution dans le forum concernant mon problème.

    alors voila je développe un programme sous QT4 (langage que j'ai découvert récemment dont je souhaite souligner au passage tout le bien que j'en pense.)

    ce programme se connecte a une base de donnée dans un premier temps puis dans un deuxième ce programme "scan" en permanence un dossier dans lequel des fichiers seront traités. ils seront lus selon un format préétabli puis les variables récupérées seront transféré dans une BDD mysql. mon problème se situe a ce niveau. je n'arrive tout simplement pas a enregistrer les variable de mes fichiers dans la BDD.

    j'ai exploré plusieurs pistes... mais sans succes...

    je fais donc appel a vous si vous avez une idée merci d'avance de votre contribution.

    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    //connexion a la base de données
    ...
    //boucle permettant de scanner le dossier ou se trouvent les fichiers a traiter
     
    /*----------   Lecture et intégration dans la BDD   ----------*/
    QFile fichier(dirIterator.fileName());//récupération du nom du fichier 
    if (fichier.open(QIODevice::ReadOnly)) {  	//ouverture du fichier en lecture
    	QString date;//déclaration des variables 
        QString time;
        QString mesure;
        QString etatpile;
        QString oknonok;
        QTextStream stream(&fichier);
        while (!stream.atEnd()) {
        stream >> date >> time >> mesure >> etatpile >> oknonok;//lecture du fichier
     
    /*-------- transfert de données dans la base de données ------*/
            QSqlTableModel model;//définition de la tablature
            model.setTable("mesurescapt");	//choix de la table
            int row = 0;
            for (int i = 0; i < model.rowCount(); ++i) {
    			model.insertRows(row,1);	//insertion d'une ligne vide
    			model.setData(model.index(row, 0), "plop");
    			model.setData(model.index(row, 1), QString(date));
    			model.setData(model.index(row, 2), QString(time));
    			model.setData(model.index(row, 3), QString(mesure));
                model.setData(model.index(row, 4), QString(oknonok));
                model.submitAll();	//exécution
            }
    	}
    }

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 111
    Points : 195
    Points
    195
    Par défaut
    Bonjour,
    remplace cette partie de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
        while (!stream.atEnd()) {
        stream >> date >> time >> mesure >> etatpile >> oknonok;//lecture du fichier
     
    /*-------- transfert de données dans la base de données ------*/
            QSqlTableModel model;//définition de la tablature
            model.setTable("mesurescapt");	//choix de la table
            int row = 0;
            for (int i = 0; i < model.rowCount(); ++i) {
    			model.insertRows(row,1);	//insertion d'une ligne vide
    			model.setData(model.index(row, 0), "plop");
    			model.setData(model.index(row, 1), QString(date));
    			model.setData(model.index(row, 2), QString(time));
    			model.setData(model.index(row, 3), QString(mesure));
                model.setData(model.index(row, 4), QString(oknonok));
                model.submitAll();	//exécution
            }
    	}
    par ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        QSqlTableModel model;//définition de la tablature
        model.setTable("mesurescapt");	//choix de la table
     
        while (!stream.atEnd()) {
            stream >> date >> time >> mesure >> etatpile >> oknonok;//lecture du fichier
     
            /*-------- transfert de données dans la base de données ------*/
            int row = model.rowCount();
            model.insertRows(row);	//insertion d'une ligne vide
            model.setData(model.index(row, 0), "plop");
            model.setData(model.index(row, 1), QString(date));
            model.setData(model.index(row, 2), QString(time));
            model.setData(model.index(row, 3), QString(mesure));
            model.setData(model.index(row, 4), QString(oknonok));
            model.submitAll();	//exécution
        }

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Etudiant - eXia Cesi (toulouse)
    Inscrit en
    Janvier 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant - eXia Cesi (toulouse)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    alors voila j'ai recompilé en prenant ton code. sans succès, aucun enregistrement dans la BDD ne s'effectue...

    j'ai recherché d’où sa pouvait provenir a l'aide des qDebug
    - les variables du fichier OK
    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qDebug()<<model.tableName();
    sa me renvoie le bon nom de table

    - j'ai meme fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bool ins = model.insertRows(row, 1);
                        qDebug()<<ins;
    sa me renvoie "true"

    voila jusqu'ici j'ai reussi a cerner plus ou moins le probleme mais je trouve pas la solution

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Etudiant - eXia Cesi (toulouse)
    Inscrit en
    Janvier 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant - eXia Cesi (toulouse)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Sa y est j'ai trouvé une solution qui a résolu mon problème, c'est un code pas optimal a mon avis mais sa fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     while (!stream.atEnd()) {
            stream >> date >> time >> mesure >> etatpile >> oknonok;//lecture du fichier
     
            /*-------- transfert de données dans la base de données ------*/
            QSqlQuery requete;
            requete.exec("INSERT INTO mesurescapt(NomCapt, DateCapt, HeureCapt, MesureCapt, EtatPile) VALUES ('plop','"+date+"','"+time+"','"+mesure+"','"+oknonok+"' )");
    }

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

Discussions similaires

  1. [AC-2003] gérer une base de données avec des codes barres
    Par franklin59 dans le forum Modélisation
    Réponses: 1
    Dernier message: 09/12/2009, 15h21
  2. Création base de données avec des fichiers .csv
    Par gwen43 dans le forum Débuter
    Réponses: 4
    Dernier message: 21/09/2009, 09h01
  3. [MySQL] Base de données avec des '&'
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/02/2008, 16h58
  4. Récupérer ma base de donnée avec des tables en .frm uniqueme
    Par Michas dans le forum Administration
    Réponses: 5
    Dernier message: 31/08/2005, 13h57

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