Copier le résultat d'une requête sql dans un tableau en C++

Copier le résultat d'une requête sql dans un tableau en C++ - C++ - Programmation

Marsh Posté le 19-07-2006 à 12:21:56    

Bonjour à tous,
J'ai un problème,
Je souhaite mettre le résultat d'une requête SQL dans un tableau afin de pouvoir l'utiliser.
En fait je voudrais comparer les lignes de ma requête de façon successive.
Merci.


---------------
Merci
Reply

Marsh Posté le 19-07-2006 à 12:21:56   

Reply

Marsh Posté le 19-07-2006 à 12:23:47    

t'utilises quel librairie pour accéder aux données ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-07-2006 à 14:09:35    

Je ne vois pas de quel librairie. Je fais juste des requetes et je voudrais pouvoir comparer chaque ligne du résultat avec la ligne suivante.
Merci


---------------
Merci
Reply

Marsh Posté le 19-07-2006 à 14:19:27    

vinoromano a écrit :

Je ne vois pas de quel librairie. Je fais juste des requetes et je voudrais pouvoir comparer chaque ligne du résultat avec la ligne suivante.
Merci


Bein, tu te sers bien d'une librairie pour accéder à ta base de donnée :)
La librairie peut être l'API fournie par défaut, par exemple l'API mysql si tu te sers d'un serveur mysql. Ensuite, tu veux en faire quoi? T'en servir dans un programme avec les MFC? la STL? Qt? Autre? C'est tout ça qu'il faut savoir pour qu'on puisse t'aider (enfin, peut-être surtout Harko :D )

Reply

Marsh Posté le 19-07-2006 à 14:23:00    

Ok c'est un serveur mysql  
je veux m'en servir dans un programme C ou C++


---------------
Merci
Reply

Marsh Posté le 19-07-2006 à 14:44:07    

vinoromano a écrit :

Ok c'est un serveur mysql  


 
Non. Un serveur c'est une application à part.  
Une API est, en gros, une interface entre un langage et une application. Ici, entre le langage C++ et mySql, et c'est donc une bibliothèque de fonctions (je veux pas faire mon Emmanuel, mais une librairie c'est un magasin de livres, hein, et c'est donc différent du mot anglais "library" :o )
 

vinoromano a écrit :

je veux m'en servir dans un programme C ou C++


 
Pour commencer, décide si ce sera du C ou du C++. Ce n'est pas la même chose.

Message cité 1 fois
Message édité par Elmoricq le 19-07-2006 à 14:44:57
Reply

Marsh Posté le 19-07-2006 à 15:04:34    

Bon C++ alors,
Je suis un peu débordée actu et je ne sais pas comment faire pour réussir ce programme alors je me mélange les pédales.
Merci


---------------
Merci
Reply

Marsh Posté le 19-07-2006 à 15:06:17    

Mais pourquoi tu ne poursuis pas en PHP ?
 
Encore une fois, pour ce genre de petite tache (cf. ton autre topic), un langage de script c'est quand même plus indiqué... surtout par rapport au C++.

Reply

Marsh Posté le 19-07-2006 à 15:23:22    

Elmoricq a écrit :

Mais pourquoi tu ne poursuis pas en PHP ?
 
Encore une fois, pour ce genre de petite tache (cf. ton autre topic), un langage de script c'est quand même plus indiqué... surtout par rapport au C++.


 
Je me permets de te poster l'ensemble des fonctions que j'aie réalisées:
 

Code :
  1. /*programme de calcul du temps écoulé entre deux dates*/
  2. function temps_ecoule($date1, $date2)
  3. {
  4.    //aaaa-mm-jj hh:mn:ss est le format date
  5.  $val1=explode(" ", $date1); // separer aaaa-mm-jj et hh:mn:ss
  6.  $val2=explode(" ", $date2);
  7.  $tab1=explode("-", $val1[0]); //separer aaaa mm et jj
  8.  $tab2=explode("-", $val2[0]);
  9.  $rat1=explode(":", $val1[1]); //separer hh mn et ss
  10.  $rat2=explode(":", $val2[1]);
  11.  //faire le calcul
  12.    $valeur1=mktime($rat1[0],$rat1[1],$rat1[2],$tab1[1],$tab1[2],$tab1[0]);
  13.  $valeur2=mktime($rat1[0],$rat1[1],$rat1[2],$tab2[1],$tab2[2],$tab2[0]);
  14.  $diff=($valeur1-$valeur2)/60;  //minutes
  15.  if($diff<60)
  16.  {
  17.    $temp=$diff-abs($diff);
  18.   $temp=$temp*60;  //secondes
  19.   $time=sprintf("%smn %ss",abs($diff),$temp);
  20.  }
  21.  else
  22.  {
  23.    $diff=$diff/60;  //heures  
  24.   if($diff<24)
  25.   {
  26.      $temp=$diff-abs($diff);
  27.    $temp=$temp*60;  //minutes
  28.    $tempo=$temp-abs($temp);
  29.    $tempo=$tempo*60;  //secondes
  30.    $time=sprintf("%sh %smn %ss",abs($diff),abs($temp),$tempo);
  31.   }
  32.   else
  33.   {
  34.      $diff=$diff/24;  //jours
  35.    $temp=$diff-abs($diff);
  36.    $temp=$temp*24;  //heures
  37.    $tempo=$temp-abs($temp);
  38.    $tempo=$tempo*60; //minutes
  39.    $tempor=$tempo-abs($tempo);
  40.    $tempor=$tempor*60; //secondes
  41.    $time=sprintf("%sjours %sh %smn %ss",abs($diff),abs($temp),abs($tempo),$tempor);
  42.   }
  43.  }
  44.  return $time;
  45. }


 
Maintenant pour l'affichage de mon tableau d'archivage je fais ceci  

Code :
  1. if(empty($_REQUEST["Mac"])){      $Mac = "";             }
  2. else            {    $Mac = $_REQUEST["Mac"];     }
  3. include ('/root/www/protected/srv_etat/fonction_time');
  4. /*Programme d'archivage du serveur de supervision*/
  5. function historique($Mac)
  6. {
  7.    $time=0;
  8.  $valeur="";
  9.  $duration="";
  10.    $sql_table=sprintf("SELECT * FROM Tsrv_serveur WHERE Mac='%s' ORDER BY Heure ASC", $Mac);
  11.  $result_table=mysql_query($sql_table) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  12.  $num_rows=mysql_num_rows($result_table);
  13.  if($num_rows>0)
  14.  {
  15.     $row_table=mysql_fetch_array($result_table);
  16.   $valeur=sprintf("%s",$row_table['Etat_Serv']);
  17.   $duration=sprintf("%s",$row_table['Heure']);
  18.     while($row_table=mysql_fetch_array($result_table))
  19.   {
  20.      if(strcmp($row_table['Etat_Serv'],$row_table['Etat_Serv'])==0)
  21.     {
  22.        $time=temps_ecoule($row_table['Heure'],$duration);
  23.      $valeur=sprintf("%s",$row_table['Etat_Serv']);
  24.      $duration=sprintf("%s",$row_table['Heure']);
  25.      $sql_table1=sprintf("INSERT INTO Tsrv_Opt(Date, Statut, Duree) VALUES (%s,%s,%s)",$duration,$valeur,$time);
  26.      $result_table1=mysql_query($sql_table1);
  27.             while($row_table1=mysql_fetch_array($result_table1))
  28.      {
  29.       
  30.      }
  31.     }
  32.     else
  33.     {
  34.        $time=temps_ecoule($row_table['Heure'],$duration);
  35.      $sql_table2=sprintf("INSERT INTO Tsrv_Opt(Date, Statut, Duree) VALUES (%s,%s,%s)",$duration,$valeur,$time);
  36.      $result_table2=mysql_query($sql_table2);
  37.      while($row_table2=mysql_fetch_array($result_table2))
  38.      {
  39.       
  40.      }
  41.      $valeur=sprintf("%s",$row_table['Etat_Serv']);
  42.      $duration=sprintf("%s",$row_table['Heure']);
  43.     }
  44.   }
  45.  }
  46. }


Mon problème est au niveau de l'INSERT INTO. J'aurais souhaité faire un SELECT je crois que j'ai besoin de me changer l'air car je n'y vois plus grande chose.


---------------
Merci
Reply

Marsh Posté le 19-07-2006 à 15:25:15    

Elmoricq a écrit :

Une API est, en gros, une interface entre un langage et une application. Ici, entre le langage C++ et mySql, et c'est donc une bibliothèque de fonctions (je veux pas faire mon Emmanuel, mais une librairie c'est un magasin de livres, hein, et c'est donc différent du mot anglais "library" :o )


Ok, m'enfin si tu veux pinailler, que je ne te vois jamais utiliser le mot "librairie" (écrit en français, bien sûr) ;-p
Sinon, il y a le fait que c'est un peu plus court à écrire, mais ok, j'y ferais gaffe...

Reply

Marsh Posté le 19-07-2006 à 15:25:15   

Reply

Marsh Posté le 19-07-2006 à 15:25:48    

Vous voulez pas continuer dans la cat PHP svp?

Reply

Marsh Posté le 19-07-2006 à 15:27:24    

OK mais comment faire tu peux le faire toi?
Merci


---------------
Merci
Reply

Marsh Posté le 19-07-2006 à 15:52:21    

Elmoricq a écrit :

Mais pourquoi tu ne poursuis pas en PHP ?
 
Encore une fois, pour ce genre de petite tache (cf. ton autre topic), un langage de script c'est quand même plus indiqué... surtout par rapport au C++.


Bah, Elmoricq disait que tu avais déjà ouvert un topic. Je parlais pas de déplacer le topic, juste de pas partir sur du code php dans cette cat, c'est juste pas indiqué, et si quelqu'un fais une recherche sur un problème comme le tien, il aura du mal à le trouver ;)

Reply

Marsh Posté le 19-07-2006 à 15:57:02    

bon allez hop, tu télécharges et utilise ceci :
http://tangentsoft.net/mysql++/
et tout va bien

Reply

Marsh Posté le 19-07-2006 à 16:42:35    

Harkonnen a écrit :

bon allez hop, tu télécharges et utilise ceci :
http://tangentsoft.net/mysql++/
et tout va bien


1. Télécharger mysql++
2. Télécharger un compilo C++
3. Convertir le code PHP en C++
4. ???  
5. Profit.
 
J'ai bien peur que l'étape 4 ne fasse intervenir quelques itérations sur HFR...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed