Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SQLite3] Problème Callback

Sujet résolu
    28 mars 2021 à 20:15:47

    Salut, tout le monde !

    Je viens tout juste de débuter avec SQLite en C++ et je suis confronté à un problème. Lorsque je récupère les données de la base avec un SELECT, comment je pourrais récupérer les valeurs en dehors de la fonction callback ?

    Voici mon callback :

    int callback(void* NotUsed, int argc, char** argv, char** azColName)
    {
          for(int i = 0; i < argc; i++)
                 std::cout << azColNAme[i] << " = " << (argv[i] ? argv[i] : "NULL") << std::endl;
          return 0;
    }

    Merci d'avance pour vos réponses !

    -
    Edité par MathéoRit 28 mars 2021 à 20:36:37

    • Partager sur Facebook
    • Partager sur Twitter
      29 mars 2021 à 0:09:57

      Elles sont pas top les fonctions avec callback, je conseille plutôt de passer par les prepared statement de boucler sur sqlite3_step. Cela permet entre autre d'éviter les injections SQL.

      Sinon, si tu souhaites vraiment rester sur sqlite3_exec, il suffit de passer ce que tu veux en 4ème argument de sqlite3_exec et c'est le pointeur que tu reçois en premier argument de ton callback, donc tu y mets ce que tu veux : une structure, une classe, etc.

      • Partager sur Facebook
      • Partager sur Twitter

      git is great because Linus did it, mercurial is better because he didn't.

        29 mars 2021 à 14:15:39

        Très bien ! Merci je ne connaissais pas du tout sqlite3_step :D
        • Partager sur Facebook
        • Partager sur Twitter

        [SQLite3] Problème Callback

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown