Jump to content

Utilisation de MySQL++


Recommended Posts

Salut

 

J'aurais besoin d'envoyer des informations à une base MySQL via un logiciel que nous programmons en C++. J'ai découvert sur le site de MySQL, mySQL++ qui est une structure utilsant l'APiC de mySQL. Malheureusement j'ai beau regarder dans la doc en anglais. je ne trouve pas comment faire mes requetes SQL avec mySQL++.

Si quelqu'un l'a déja utilisé et qu'il pouvait m'expliquer en gros son focntionnement ca m'aiderai beaucoup.

 

Merci

Link to comment
Share on other sites

Pour envoyer une requête c'est tout simple, il suffit d'utiliser la fonction mysql_query ou mysql_real_query si tu envoies des données binaires.

if (mysql_query(conn, "INSERT INTO [I]table[/I] VALUES([I]1, 2, 3[/I])")
   {
       cout << "Erreur dans la requête" << endl;
   }

 

Pour la récupération de données, c'est un peu plus compliqué. On utilise tjs la meme fonction pour executer la requête, mais récupérer l'information saisie par la requête est un peu plus comple. Voici le code :

void view(MYSQL *conn, const char *sql) {

   MYSQL_RES *result;
   MYSQL_ROW elementsColonne;
   unsigned int colonnes;
   int i;

if (mysql_query(conn, sql))
 {
 	cout << "Erreur dans la requête" << endl;
 }
   else // requête bonne, traitons les données qu'elle renvoit
   {
       result = mysql_store_result(conn);
       if (result != NULL) // MySQL peut extraire des résultats
       {
           colonnes = mysql_num_fields(result);

           // récupère les enregistrements un par un
           while ((elementsColonne = mysql_fetch_row(result)))
           {
               for (i = 0; i < colonnes; i++){
         if (elementsColonne[i] != NULL) 
   cout << elementsColonne[i] << "\t"; 
 	else 
                           cout << "NULL" << "\t";
 	}
               cout << endl;
           }
            // libére la mémoire allouer pour le résultat
           mysql_free_result(result);
       }
       else
           cout << "Aucun résultat à la requête !" << endl;
   }
}

 

 

Voial si t'as d'autres questions n'hésite pas :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...