utilisation de mysql++ => Seg Fault ! - C++ - Programmation
MarshPosté le 19-04-2007 à 16:21:51
Bonjour,
Je suis sur le développement d'un logiciel libre destiné à la compression en masse. J'ai développé une partie du programme en C, avec la lib mysql sans trop de problème, cependant je dois m'attaquer maintenant à la partie C++ avec mysql++, et n'ayant pas fait de C++ depuis longtemps j'ai un peu de mal !
cerr << "Failed to get item list: " << query.error() << endl;
return 1;
}
Le code comme ca, il marque le We have, la premiere valeur du champ de la table, et apres SegFault... Si je commente le premier cout et décommente le second, il seg fault après le We have : Résultat, compilé avec ou sans efence :
Si quelqu'un a une idée, ou si vous pensez que j'ai pu oublier quelque chose, je suis preneur de toute idée, parce que j'ai un peu beaucoup de mal à me remettre au C++ après toutes ces années sans, et mon niveau était déja pas très élevé, donc...
Je viens de testé cette méthode :
Code :
mysqlpp::Query query = con.query();
query << "select * from slave";
mysqlpp::ResUse res = query.use();
// Retreive result rows one by one, and display them.
if (res) {
// Display header
cout.setf(ios::left);
cout << setw(21) << "IP" <<
setw(10) << "Port" <<
setw(10) << "State" <<
endl << endl;
// Get each row in result set, and print its contents
mysqlpp::Row row;
while (row = res.fetch_row()) {
cout << setw(20) << row["ip"] << ' ' <<
setw(9) << row["port"] << ' ' <<
setw(9) << row["state"] << ' ' <<
endl;
}
return 0;
}
else {
cerr << "Failed to get stock item: " << query.error() << endl;
return 1;
}
Mais toujours pareil :
Citation :
We have: IP Port State
127.0.0.1 30000 Waiting Segmentation fault
(Je me base sur les exemples de la librairies mysql++)
Merci d'avance ! Si vous avez des idées n'hésitez pas ! (et n'hésitez pas à donner des détails, je ne suis pas très fort )
Message édité par Ternel- le 19-04-2007 à 16:22:52
Marsh Posté le 19-04-2007 à 16:21:51
Bonjour,
Je suis sur le développement d'un logiciel libre destiné à la compression en masse.
J'ai développé une partie du programme en C, avec la lib mysql sans trop de problème, cependant je dois m'attaquer maintenant à la partie C++ avec mysql++, et n'ayant pas fait de C++ depuis longtemps j'ai un peu de mal !
La connexion à la base se déroule bien, c'est apparement ma création de requete qui merde :
Le code comme ca, il marque le We have, la premiere valeur du champ de la table, et apres SegFault...
Si je commente le premier cout et décommente le second, il seg fault après le We have :
Résultat, compilé avec ou sans efence :
Electric Fence 2.1 Copyright © 1987-1998 Bruce Perens.
We have:
127.0.0.1
Segmentation fault
et si je commente tout à partir du if (res) :
Electric Fence 2.1 Copyright © 1987-1998 Bruce Perens.
We have:
ElectricFence Aborting: free(804d294): address not from malloc().
Illegal instruction
et sans efence :
We have:
*** glibc detected *** free(): invalid pointer: 0x0804de0c ***
Aborted
Si quelqu'un a une idée, ou si vous pensez que j'ai pu oublier quelque chose, je suis preneur de toute idée, parce que j'ai un peu beaucoup de mal à me remettre au C++ après toutes ces années sans, et mon niveau était déja pas très élevé, donc...
Je viens de testé cette méthode :
Mais toujours pareil :
We have:
IP Port State
127.0.0.1 30000 Waiting
Segmentation fault
(Je me base sur les exemples de la librairies mysql++)
Merci d'avance !
Si vous avez des idées n'hésitez pas ! (et n'hésitez pas à donner des détails, je ne suis pas très fort )
Message édité par Ternel- le 19-04-2007 à 16:22:52