Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2968 connectés 

  FORUM HardWare.fr
  Programmation
  C++

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1409337
vinoromano
saoule
Posté le 19-07-2006 à 12:21:56  profilanswer
 

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
mood
Publicité
Posté le 19-07-2006 à 12:21:56  profilanswer
 

n°1409340
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 19-07-2006 à 12:23:47  profilanswer
 

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


---------------
J'ai un string dans l'array (Paris Hilton)
n°1409398
vinoromano
saoule
Posté le 19-07-2006 à 14:09:35  profilanswer
 

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
n°1409411
IrmatDen
Posté le 19-07-2006 à 14:19:27  profilanswer
 

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 )

n°1409416
vinoromano
saoule
Posté le 19-07-2006 à 14:23:00  profilanswer
 

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


---------------
Merci
n°1409447
Elmoricq
Modérateur
Posté le 19-07-2006 à 14:44:07  profilanswer
 

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
n°1409470
vinoromano
saoule
Posté le 19-07-2006 à 15:04:34  profilanswer
 

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
n°1409472
Elmoricq
Modérateur
Posté le 19-07-2006 à 15:06:17  profilanswer
 

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++.

n°1409485
vinoromano
saoule
Posté le 19-07-2006 à 15:23:22  profilanswer
 

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
n°1409489
IrmatDen
Posté le 19-07-2006 à 15:25:15  profilanswer
 

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...

mood
Publicité
Posté le 19-07-2006 à 15:25:15  profilanswer
 

n°1409490
IrmatDen
Posté le 19-07-2006 à 15:25:48  profilanswer
 

Vous voulez pas continuer dans la cat PHP svp?

n°1409494
vinoromano
saoule
Posté le 19-07-2006 à 15:27:24  profilanswer
 

OK mais comment faire tu peux le faire toi?
Merci


---------------
Merci
n°1409519
IrmatDen
Posté le 19-07-2006 à 15:52:21  profilanswer
 

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

n°1409530
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 19-07-2006 à 15:57:02  profilanswer
 

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

n°1409587
Lam's
Profil: bas.
Posté le 19-07-2006 à 16:42:35  profilanswer
 

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...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

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

 

Sujets relatifs
Filtres tableau croisé dynamique[asp][1.1] Fichier XML dans un tableau
Tableau à trier en fct de deux champsWord numéro de tableau
copier une plage de cellule résoluTableau double entrée
comment stocker le resultat d'un "select" dans une variableProbleme de création de requête SQL un peu compliqué !
duplicate entry for key sur une requete UPDATEc# requete parametree
Plus de sujets relatifs à : Copier le résultat d'une requête sql dans un tableau en C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR