SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Base de données: `test` -- -- -------------------------------------------------------- -- -- Structure de la table `ex_1` -- DROP TABLE IF EXISTS `ex_1`; CREATE TABLE `ex_1` ( `id` int(11) NOT NULL auto_increment, `nom` tinytext NOT NULL, `prenom` tinytext NOT NULL, `date_naissance` date NOT NULL default '0000-00-00', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='ma premiere table' AUTO_INCREMENT=6 ; -- -- Contenu de la table `ex_1` -- INSERT INTO `ex_1` VALUES(1, 'Dupont', 'Denis', '1977-09-18'); INSERT INTO `ex_1` VALUES(2, 'Dupont', 'Marie', '1978-02-09'); INSERT INTO `ex_1` VALUES(3, 'Sheen', 'Sylvain', '1970-12-22'); INSERT INTO `ex_1` VALUES(4, 'Sand', 'Kamal', '1971-05-30'); INSERT INTO `ex_1` VALUES(5, 'Fisher', 'Samia', '1973-10-28');
// mysql_ex1.cpp : Defines the entry point for the console application. #include "stdafx.h" #include <conio.h> #include <winsock.h> #include <mysql\mysql.h> int _tmain(int argc, _TCHAR* argv[]) { MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option"); if(mysql_real_connect(&mysql,"127.0.0.1","root","a","test",0,NULL,0)) { //Déclaration des pointeurs de structure MYSQL_RES *result = NULL; MYSQL_ROW row = NULL; unsigned int i = 0; unsigned int num_champs = 0; printf("Lister le nombre de resultats :\n"); //Requête qui sélectionne tout dans ma table ex_1 mysql_query(&mysql, "SELECT * FROM ex_1"); //On met le jeu de résultat dans le pointeur result result = mysql_use_result(&mysql); //Tant qu il y a encore un résultat ... while (( row = mysql_fetch_row(result))) { printf("Resultat %ld\n", i); i++; } //Libération du jeu de résultat mysql_free_result(result); // Cette fois, on va lire les données printf("\nCette fois, on va lire les donnees :\n"); //à nouveau la requête qui sélectionne tout dans ma table ex_1 mysql_query(&mysql, "SELECT * FROM ex_1"); result = mysql_use_result(&mysql); //On récupère le nombre de champs num_champs = mysql_num_fields(result); while (( row = mysql_fetch_row(result))) { //On déclare un pointeur long non signé pour y stocker la taille des valeurs unsigned long *lengths; //On stocke cette taille dans le pointeur lengths = mysql_fetch_lengths(result); //On fait une boucle pour avoir la valeur de chaque champs for(i = 0; i < num_champs; i++) { //On ecrit toutes les valeurs printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL"); } printf("\n"); } //Fermeture de MySQL mysql_close(&mysql); } else { printf("Une erreur s est produite lors de la connexion à la BDD!"); } printf("\nAppuyez sur une touche\n"); _getch(); return 0; } |