begin process at 2010 02 10 10:12:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Base de données

 > 

SQL

 > 

Passage de requete mysql !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passage de requete mysql !

lundi 18 juin 2007 à 15:47:38 | Passage de requete mysql !

chaya56

Bonjour,
je tiens a prevenir que cela fait 2 ans que je n'ai plus fait de C++ et a l'epoque j'avais un niveau débutant !
Donc ma question :
pour un projet personnel j'essaye de faire un mini client mysql en C++ ds lequel on saisira des requetes a executer sur une bdd préalablement définie, hors j'ai beaucoup de mal a faire passer un CHAR saisie a la mano grace a un CIN ds la fonction : (mysql_query(sock,rrequete)).

si je fait un char * rrequete = "select * from user;" la requete passe correctement.
par contre si je fait un cin >> rrequete ; => le programme compile mais plante a la saisie de la requete.

Actuellement j'ai ecrit ce code afin de saisir la requete et l'envoyer mais j'obtient a chaque fois le message d'erreur ci dessous :

[code]
string requete ;                   //Creation d'un string afin de permettre une saisie plus facile
cout << "requete ? " ;
cin >> requete ;
size_t requetesize = requete.size() + 1;   //on regarde la taille de la chaine
char * rrequete = new char[ requetesize ];  //on crée un char a la taille+1 pour caract de fin de chaine
strncpy( rrequete, requete.c_str(), requetesize );   // on copie la string ds le char                         
delete &requete;           // on libere de la mémoire       
cout << requete ;          // on controle ce que l'on a rentré....

//execution de la requete
if (mysql_query(sock,rrequete)) cout <<"echec de la requete, motif : \n" << mysql_error(sock) << "\n";
    else
    {
    cout << "requete faite !";
    } 
[/code]

message renvoyé par le programme :

Le serveur est en ligne
Initialisation de la connexion Ok !
connection ok, sur la bdd : test
requete ? select * from user
echec de la requete, motif :
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '' at line 1
Press any key to continue . . .


la requete MYSQL ne prendrait elle pas par hasard unqiuement la premiere case de ma chaine de caractere? rrequete[0] ?
mardi 19 juin 2007 à 14:23:26 | Re : Passage de requete mysql !

katsankat

Membre Club
Réponse acceptée !
Salut,
Tel quel le cin ne prend que le premier mot (avant le premier espace).
Tu peux vérifier avec un
  cin >> requete ;
  cout << "requete:"+requete ;

Donc remplacer
  cin >> requete ;
par
  getline (cin, requete);

Accessoirement je conseille de lire attentivement cette page
http://www.cplusplus.com/doc/tutorial/basic_io.html


Note: pas besoin de dupliquer le string requete pour le passer à mysql_query().
mercredi 20 juin 2007 à 08:43:00 | Re : Passage de requete mysql !

chaya56

merci pour votre réponse :

code corrigé :

cout << "requete ? " ;
getline( cin, requete );                                  // on saisit la requete avec les espaces              
cout << requete.c_str() ;  
if (mysql_query(sock,requete.c_str())) cout <<"echec de la requete, motif : \n" << mysql_error(sock) << "\n";
    else
    {
    cout << "requete faite !" << endl;

etc...


Cette discussion est classée dans : mysql, requete, ds, char, rrequete


Répondre à ce message

Sujets en rapport avec ce message

sql et c++ [ par gogeta2003 ] Bonjour, J'ai un petit problème, je voudrais insérer des valeurs dans ma base de donnée en passant par un edit, du genre: mySQL=mysql_init(NULL);<br renvoie d'un tableau en char ds une fonction [ par TheBabyCool ] Comment peut on renvoyer un tableau de char du type :char i[][] dans une fonction ?Merci image + char* + mysql [ par cartouh ] HelloVoila, j'ai un big PRBLM!!!je desire lire une image jpg et la stocker dans uune base mysql, tout simplement.pour cela, je lis mon fichier que je pbm de retour de requete [ par goueg83460 ] bonjour je fait un programme qui ecrit dans une base de donnée mysql. lorsque je fait le msql_query je voudrais savoir si la requete a bien ecri dans requete mysql en C [ par hotlips ] Bonjour,Petit problème avec une fonction qui effectue une requète mysql. La connection et la requète s'executent sans probleme, mais je voudrais pouvo Pbl Utilisation de l'API MySQL en C, Partie 1 [ par seedtrunks ] Bonjour Je débute en C et j'ai un problème sur le chapitre Utilisation de l'API MySQL en C, Partie 1 à cette adresse http://www.games-creators.org/wik URGENT : pb de conexion avec mysql_real_connect [ par Stephworlds ] salut a tousC'est éxtrémement urgent.Je doit me connecter sur une base de donées distante. Mon programme compile. Mais lorsque je lance l'appli la con copie de tableau de char [ par majong ] Bonjour   je fais une requete mysql, puis dans un row j'ai le résultat, je sais aussi que la longueur de prix > longueur row  Mon programme ne marche pb requete mysql INSERT INTO avec parametre c++ [ par Maj62 ] voila jai un probleme j'arrive a utiliser Insert into en mettant les valeur que je veu ajouter dans ma table sql en dur   mysql_query(myData,"INSERT I probleme avec une string [ par neofenix ] bonjour a tous,voila je suis  depuis un moment sur un projet personnelle et je me casse la tete depuis un moment  sur un probleme.Alors j'ai une base


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales