begin process at 2012 02 11 09:42:08
  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 postgresql protection des quotes dans une requete [ par ar1du62 ] Bonjour tout le monde. Voila j'ai un petit soucis avec l'utilisation de postgresql dans mon programme. [code=cpp] //je recupere dans la variable t


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,030 sec (3)

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