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

JavaScript Discussion :

SQLite3JS-winrt js et affichage des données de la base


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Par défaut SQLite3JS-winrt js et affichage des données de la base
    Bonjour à tous,
    dans le cadre de mes études je fais une app Windows Metro pour Windows8.1 en JavaScript/HTML/CSS .
    Sur certaine pages, j'arrive à avoir correctement toute les infos qui provienne de ma bdd mais sur d'autre je n'y arrive tout simplement pas.

    Est-ce que quelqu'un pourrait m'aider?
    Ça deviens vraiment urgent car la deadline approche à grand pat.

    Merci

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    explique ce que tu fais
    donne les bout de code qui te posent problème
    et on pourra peut-être t'aider

    A+JYT

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Par défaut
    Salut,

    voici une des fonction qui pose problème.
    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
    function creeralim() {
     
        //on récupère les valeurs des différents champs
        var nom = document.getElementById("nom").value;
        var cal = document.getElementById("Calories").value;
        var ig = document.getElementById("IG").value;
        var prot = document.getElementById("Proteines").value;
        var glu = document.getElementById("Glucides").value;
        var lip = document.getElementById("Lipides").value;
        var fib = document.getElementById("Fibres").value;
        var conv = document.getElementById("convers").value;
        console.log('1 : la val conv vaut : ' + conv);
     
        var dbPath = Windows.Storage.ApplicationData.current.localFolder.path + '\\aliments.sqlite';
        SQLite3JS.openAsync(dbPath)
        .then(function (db) {
            return db.runAsync('INSERT INTO aliments (Nom, Calories, IG, Proteines, Glucides, Lipides, Fibres) VALUES (?, ?, ?, ?, ?, ?, ?)', [nom, cal, ig, prot, glu, lip, fib])
            .then(function () {
                var newid = db.lastInsertRowId;
                console.log('2 avant insert avec conv = ' + conv + 'et newid = ' + newid);
                return db.runAsync('INSERT INTO conversion (gr, cl, ID_aliments) VALUES (?, ?, ?)', [100, conv, newid])
            })
            .then(function () {
                //newid = db.lastInsertRowId;
                //console.log('5 : la val newid vaut : ' + newid);
                db.close();
            });
        });
        //return newid;
    }
    au débogage, l'app sort directement de la fonction avant la première requête. Donc juste après le 1er .then
    Visiblement je fais mal quelque chose quand je souhaite faire plus d'une requête dans une seule fct ou même dans plusieurs exécutées l'une après l'autre.

    Merci

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    et que dit la console de log ?
    le debugger ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Par défaut
    Il n'y a aucune erreur et seul mon log 1 s'affiche.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 15
    Par défaut
    Bonjour à tous,

    bon ma fonction creeralim fonctionne parfaitement maintenant. la voici terminé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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    function creeralim() {
        var newid;
        //on récupère les valeurs des différents champs
        var nom = document.getElementById("nom").value;
        var cal = document.getElementById("Calories").value;
        var ig = document.getElementById("IG").value;
        var prot = document.getElementById("Proteines").value;
        var glu = document.getElementById("Glucides").value;
        var lip = document.getElementById("Lipides").value;
        var fib = document.getElementById("Fibres").value;
        var conv = document.getElementById("convers").value;
        console.log('1 : la val conv vaut : ' + conv);
     
        var dbPath = Windows.Storage.ApplicationData.current.localFolder.path + '\\aliments.sqlite';
        SQLite3JS.openAsync(dbPath)
        .then(function (db) {
            return db.runAsync('INSERT INTO aliments (Nom, Calories, IG, Proteines, Glucides, Lipides, Fibres) VALUES (?, ?, ?, ?, ?, ?, ?)', [nom, cal, ig, prot, glu, lip, fib])
            .then(function () {
                newid = db.lastInsertRowId;
                console.log('2 avant insert avec conv = ' + conv + 'et newid = ' + newid);
                return db.runAsync('INSERT INTO conversion (gr, cl, ID_aliments) VALUES (?, ?, ?)', [100, conv, newid])
            })
            .then(function () {
                db.close();
                console.log('3 avant getalim avec newid = ' + newid);
                getalim(newid);
            });
        });    
    }
    Mais c'est une autre fonction qui me pose problème maintenant. La fonction modifalim:
    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
    function modif() {
     
        //on récupère les valeurs des différents champs
        var nom = document.getElementById("nom").value;
        var cal = document.getElementById("Calories").value;
        var ig = document.getElementById("IG").value;
        var prot = document.getElementById("Proteines").value;
        var glu = document.getElementById("Glucides").value;
        var lip = document.getElementById("Lipides").value;
        var fib = document.getElementById("Fibres").value;
        var conv = document.getElementById("convers").value;
        var id = document.getElementById("alim").value;
        console.log('nom: ' + nom + ' cal: ' + cal + ' ig: ' + ig + ' prot: ' + prot + ' glu: ' + glu + ' lip: ' + lip + ' fib: ' + fib + ' conv: ' + conv + ' id: ' + id);
     
        var dbPath = Windows.Storage.ApplicationData.current.localFolder.path + '\\aliments.sqlite';
        SQLite3JS.openAsync(dbPath)
        .then(function (db) {
            return db.runAsync('UPDATE aliments SET Nom = :nom, Calories = :cal, IG = :ig, Proteines = :prot, Glucides = :glu, Lipides = :lip, Fibres = :fib) WHERE ID = :id', { nom: nom, cal: cal, ig: ig, prot: prot, glu: glu, lip: lip, fib: fib, id: id })
            .then(function () {
                console.log('entre les deux requetes');
                return db.runAsync('UPDATE  conversion SET gr = :gr, cl = :cl WHERE ID_aliments = :id', {gr: 100, conv: conv, id: id})
            })
            .then(function () {
                //modifconvers(id);
                db.close();
            });
        });
    }
    Etant donné que c'est casiment la même fonction mais avec des requêtes différentes, je suppose que le problème viens de là.
    j'ai essayé de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return db.runAsync('UPDATE aliments SET (Nom, Calories, IG, Proteines, Glucides, Lipides, Fibres) VALUES (?, ?, ?, ?, ?, ?, ?) WHERE ID = ?', [nom, cal, ig, prot, glu, lip, fib, id])
    et puis de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return db.runAsync('UPDATE aliments SET Nom = :nom, Calories = :cal, IG = :ig, Proteines = :prot, Glucides = :glu, Lipides = :lip, Fibres = :fib) WHERE ID = :id', { nom: nom, cal: cal, ig: ig, prot: prot, glu: glu, lip: lip, fib: fib, id: id })
    Aucune des deux n'a fonctionné.

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

Discussions similaires

  1. [C#] Affichage des données d'une base de données à travers un Datagrid
    Par Me,Myself and I dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/02/2007, 16h38
  2. [Tableaux] affichage des données d'une base
    Par Nickwell dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2006, 17h14
  3. [Conception] affichage des données de la base en cilquant sur un lien
    Par katie dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/09/2006, 23h41
  4. [MySQL] Affichage des données d'une base
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 30
    Dernier message: 01/02/2006, 16h35

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