Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

Pour ceux que ca intérresse, j'ai réussi à me connecter à la base et à executer des requétes. Je me suis pas servi de mySQL++ seulement de l'API C de mySQL. =)

 

Si vs voulez le code je vous le file

Posté(e)

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 :)

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...