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

GTK+ Discussion :

[VALA] Utilisation sqlite3


Sujet :

GTK+

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut [VALA] Utilisation sqlite3
    Bonjour,

    J'essaye en ce moment d'utiliser sqlite3. J'ai créer une class Model de ma table et j'essaye de récuper via une requete les données. mais voilà j'ai du mal. Voilà mon 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
     
    using Sqlite;
     
    class Db 
    {
    	Database db;
    	int rc;
    	public string[] db_result;
    	public Db()
    	{
    		rc = Database.open ("../../data/list.db", out db);
    	}
     
    	public string[] get_all_list ()
    	{
    		string sql = "SELECT * FROM list";
    		db.exec (sql, select_callback);
    		db = null;
    		return db_result;
    	}
     
        private int select_callback (int n_columns, string[] values, string[] column_names)
        {                
    	db_result = values;
            return 0; // continue
        }
    }
    Pour l'instant j'ai crée une variable db_result pour récuperer le resultat de la requete mais ca bug l'application comme ca. Bref comment faire ca proprement ?

    Sinon à quand un sous forum Vala ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Je sais pas où ton post aurait dû être, en tout cas il me paraît très mal placé ici :-/

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Ah bon ? Pourquoi ca ?

    Mon post concerne le language Vala, et y'a un post plus bas qui aussi un post sur le language Vala.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    J'avais jamais fait gaffe à l'autre post C'est un forum gtk+, je suis pas sûr que les gens intéressés par Vala aient le réflexe de venir consulter ce forums 'ils veulent de l'aide sur vala; Et réciproquement, les gens qui connaissent gtk+ qui postent ici ne connaissent pas nécessairement Vala. D'où ma remarque. Un post sur l'utilisation de gtk+ en vala aurait tout à fait sa place ici, le tien, moins. Mais effectivemnt, y a pas vriament d'autre endroit où il est à sa place, donc bon...

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    D'ou ma question plus haut, à quand un sous forum sur Vala ?
    Y'a bien PyGTK, PHP-GTK, il est ptete temps d'en créer un non ?

    Aussi, sous le sous forum "Contribuez", "gege2061", developeur entre autre de Val(a)de si je ne me trompe pas, contribue pour Vala. Merci à lui, j'ai decouvert Vala grace à lui.

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par teuf13 Voir le message
    J'avais jamais fait gaffe à l'autre post C'est un forum gtk+, je suis pas sûr que les gens intéressés par Vala aient le réflexe de venir consulter ce forums 'ils veulent de l'aide sur vala; Et réciproquement, les gens qui connaissent gtk+ qui postent ici ne connaissent pas nécessairement Vala. D'où ma remarque. Un post sur l'utilisation de gtk+ en vala aurait tout à fait sa place ici, le tien, moins. Mais effectivemnt, y a pas vriament d'autre endroit où il est à sa place, donc bon...
    Je pense aussi que c'est le meilleur endroit, Vala étant basé sur la GLib

    Citation Envoyé par SQUAL Voir le message
    D'ou ma question plus haut, à quand un sous forum sur Vala ?
    Y'a bien PyGTK, PHP-GTK, il est ptete temps d'en créer un non ?
    Quand il y auras suffisamment de question sur le sujet, pour l'instant il n'y a pas beaucoup d'utilisateurs francophones.

    Citation Envoyé par SQUAL Voir le message
    Aussi, sous le sous forum "Contribuez", "gege2061", developeur entre autre de Val(a)de si je ne me trompe pas, contribue pour Vala. Merci à lui, j'ai decouvert Vala grace à lui.


    Pour en revenir à ta question, quelle version de vala utilise-tu ?

    Qu'est ce que tu rencontre comme bug précisément ? Tu l'application plante, tu sais à quelle endroit exactement ?

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Bonjour gege2061,

    Alors j'utilise la derniere version de Vala disponible dans les depots de Jaunty.
    J'ai l'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GLib-ERROR **: /build/buildd/glib2.0-2.20.0/glib/gmem.c:156: failed to allocate 18446744073709551608 bytes
    aborting...
    L'application s'est terminée suite au signal: SIGABRT
    et ca se passe à cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    db_result = values;
    si je le commante ca passe.
    Ca passe aussi si je retourne juste un sting et non un sting[]. Peut etre un bug ?

    Quand il y auras suffisamment de question sur le sujet, pour l'instant il n'y a pas beaucoup d'utilisateurs francophones.
    Oui mais si ils voient le sous forum Vala, ca fera de la pub lol, ils vont se dire mais qu'est ce que Vala ? Ils vont donc se renseigner. Là je crois que personne ne sait l'existance de Vala.
    En meme temps le language est jeune, peu de doc aussi, et aucun forum officiel. Le 1.0 est prevu pour septembre, j'espere que y'aura plus d'utilisateurs après sa sorti. En tout cas moi j'ai vraiment été séduit par ce language
    Bref on attendant, je crois que je vais poster ici, pas trop le choix.

    Merci encore gege2061

  8. #8
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par SQUAL Voir le message
    J'ai l'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GLib-ERROR **: /build/buildd/glib2.0-2.20.0/glib/gmem.c:156: failed to allocate 18446744073709551608 bytes
    aborting...
    L'application s'est terminée suite au signal: SIGABRT
    et ca se passe à cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    db_result = values;
    si je le commante ca passe.
    Ca passe aussi si je retourne juste un sting et non un sting[]. Peut etre un bug ?
    Oui c'est un beau bug de vala !

    Pour commencer la fonction correct doit être :
    Code vala : Sélectionner tout - Visualiser dans une fenêtre à part
      private int select_callback (int n_columns, [CCode (array_length = false)] string[] values, [CCode (array_length = false)] string[] column_names)

    Pour préciser que la fonction ne reçois pas la taille des tableaux en paramètres.

    Mais dans ce cas, le code C généré n'est pas bon puisqu'il remplace la taille du tableau pas -1

    Tu t'occupe de poster le problème sur bugzilla ?

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Tu t'occupe de poster le problème sur bugzilla ?.
    Désolé mais je ne pense pas être capable de poster ca sur bugzilla .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      private int select_callback (int n_columns, [CCode (array_length = false)] string[] values, [CCode (array_length = false)] string[] column_names)
    Et sinon ce code est censé résoudre le problème ?

    J'ai testé au cas ou, ca compile sans problème mais toujours le même erreur
    Merci encore

  10. #10
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par SQUAL Voir le message
    Désolé mais je ne pense pas être capable de poster ca sur bugzilla .
    C'est fait http://bugzilla.gnome.org/show_bug.cgi?id=578421

    Citation Envoyé par SQUAL Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      private int select_callback (int n_columns, [CCode (array_length = false)] string[] values, [CCode (array_length = false)] string[] column_names)
    Et sinon ce code est censé résoudre le problème ?

    J'ai testé au cas ou, ca compile sans problème mais toujours le même erreur
    Merci encore
    Une fois le bug résolu, oui.

  11. #11
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Ok merci bien.
    Je vais essayer avec xml pour voir sinon, j'aime pas du tout le xml mais bon,
    Sinon je vais attendre la prochaine version en espérant que le bug soit résolu.

  12. #12
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    J'ai bien une astuce pour contourner le problème :
    Code vala : 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    using Sqlite;
     
    class Test
    {
      Database db;
      int rc;
      public string[] db_result;
      /** @bug http://bugzilla.gnome.org/show_bug.cgi?id=570821 */
      public int db_result_size;
     
      private int get_strv_length (string[] strv)
      {
        int i = 0;
     
        for (i = 0; strv[i] != null; i++)
        {
        }
        return i + 1;
      }
     
      public Test ()
      {
        rc = Database.open ("list.db", out db);
      }
     
      public string[] get_all_list ()
      {
        string sql = "SELECT * FROM list;";
        db.exec (sql, select_callback);
        return db_result;
      }
     
      private int select_callback (int n_columns, [CCode (array_length = false)] string[] values, [CCode (array_length = false)] string[] column_names)
      {
        for (int i = 0; i < this.get_strv_length (values); i++)
        {
          db_result += values[i];
        }
        return 0; // continue
      }
    }
     
    void main ()
    {
      Test test = new Test ();
      foreach (string s in test.get_all_list ())
      {
        print ("%s\n", s);
      }
    }

    Mais cela m'affiche plusieurs lignes par enregistrement :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    test
    [Invalid UTF-8] \x08\xb1\xa3\x08\xa0\xb0\xa3\x08
    (null)
    test1
    [Invalid UTF-8] \x08\xb1\xa3\x08\xa0\xb0\xa3\x08
    (null)

  13. #13
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Oui ca marche, mais je remarque que tous les valeurs se retrouve dans un seul array. En gros je n'ai pas de rowset. Du coup je me demande meme, si je me suis pas planté, si j'emploi la bonne manière pour récuperer un rowset là.

  14. #14
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    Je pense aussi que c'est le meilleur endroit, Vala étant basé sur la GLib
    Je vois pas vraiment le rapport. Je connais la glib, je connais gtk+, par contre je suis complètement incapable de répondre à une question sur vala+sqlite. J'ai rien contre des questions sur vala, j'ai rien contre un forum vala, par contre le forum gtk+ ne me semble pas être le meilleur endroit pour accueillir des questions vala non liées à gtk+. J'ai peur que les gens qui pourraient répondre aux questions posées ne regardent pas le forum gtk+ (je doute que des experts sqlites lisent régulièrement le forum gtk+ s'ils ne sont pas intéressés par gtk+) et de la même façon, je ne suis pas sûr que je penserais à aller fouiller dans un sous forum d'une section gtk+ pour trouver de l'aide sur vala. Enfin après, le choix final m'importe peu, je n'utilise pas vala donc ça n'est pas moi qui risque d'être handicapé par le placement mal adapté d'un forum

  15. #15
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Comme j'ai dit plus haut, y'a bien PyGTK, PHP-GTK donc pourquoi Vala n'aurai pas sa place ici ? Sinon un problème se pose là, tu es modérateur, faut en discuter entre vous (modérateur) pour trouver une solution.

    Bah sinon tant pis lol je sais pas quoi dire d'autre

  16. #16
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Tu fais bien de prendre l'exemple de php gtk tiens Une personne qui a un pb de MySQL avec PHP, tu penses qu'il va venir poster dans le forum php-gtk ? Ou bien dans un forum php plus générique et où il a plus de chances de trouver des personnes qui connaîtront le domaine en question ?
    Là c'est exactement ça que j'essaie d'expliquer pour Vala J'ai rien contre que ça soit ici, mais ça me paraît pas le placement le plus judicieux

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

Discussions similaires

  1. [Python 2.X] Comment utiliser sqlite3
    Par Thierry_V dans le forum Général Python
    Réponses: 13
    Dernier message: 23/09/2014, 11h15
  2. utilisation sqlite3 windows
    Par Invité dans le forum C++
    Réponses: 3
    Dernier message: 17/03/2014, 18h30
  3. [VALA] Comment utiliser le fichier config.h ?
    Par SQUAL dans le forum GTK+
    Réponses: 7
    Dernier message: 13/09/2009, 12h23
  4. Utilisation de la clause UNIQUE en SQLITE3
    Par santuD dans le forum SQLite
    Réponses: 1
    Dernier message: 18/04/2008, 19h41

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