Comment connecter vc à la base de données mysql : ouvrez d'abord VC6 ; puis ajoutez le chemin du répertoire d'inclusion de MySQL installé localement dans la zone de liste du milieu, puis sélectionnez "Fichiers de bibliothèque" et ajoutez le chemin du répertoire Lib de MySQL ; enfin effectuer des tests de programmation.
Recommandé : "tutoriel vidéo mysql"
1. Installation de MySQL
Pour installer MySQL, téléchargez-le simplement depuis le site officiel. . . La dernière en date est la version 5.7. .
2. Paramètres VC6.0
(1) Ouvrez VC6. Sélectionnez 0 Options dans le menu Outils de la barre d'outils, dans la liste déroulante « Afficher les répertoires pour : » sur le côté droit de l'onglet Répertoires, « Includefiles », puis ajoutez le chemin du répertoire d'inclusion de votre installation MySQL locale dans la zone de liste du milieu. Comme le montre l'image :
(2) Dans la liste déroulante "Afficher les répertoires pour :" liste mentionnée ci-dessus Sélectionnez "Fichiers de bibliothèque", puis ajoutez le chemin du répertoire Lib à votre installation MySQL locale. Sur la photo :
Idem, c'est à cause de cette erreur : libmysql.lib : erreur fatale LNK1113 : machine invalide Serveur invalide
En effet, vc développe un programme 32 bits et la base de données MySQL est créée en 64 bits. Si vous utilisez un programme 32 bits pour exploiter une base de données 64 bits, vous ferez certainement une erreur, je vais l'expliquer en détail. comment le résoudre dans le prochain article de blog.
(3) Ajoutez "libmysql.lib" dans "Paramètres du projet-> Lien : Modules objet/bibliothèque".
(5) Il est recommandé de copier "libmySQL.lib, libmySQL.dll" dans le répertoire du projet que vous avez construit.
Ces deux fichiers se trouvent dans le répertoire D:Mysqllib.
3. Implémentation de la programmation
#include <stdio.h> #include <windows.h> #include <mysql.h> int main() { MYSQL mysql; mysql_init(&mysql); //初始化mysql结构 if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) printf("\n连接数据库时发生错误!\n"); else printf("\n连接数据库成功!\n"); mysql_close(&mysql); //释放数据库 return 0; }
mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)//myuser est mon nom d'utilisateur, "123456" est le mot de passe, "student_db" est la base de données, 3306 est le numéro de port
2. Implémentez l'applet de requête
// test.cpp : Defines the entry point for the console application. // #include <stdio.h> #include <windows.h> #include "StdAfx.h" #include <winsock.h> #include <iostream> #include <string> #include <mysql.h> using namespace std; //不需要单步调试的就注释掉 //#define STEPBYSTEP void pause(){ #ifdef STEPBYSTEP system("pause"); #endif } void writeToFile(const char *s) { FILE *fp=fopen("info.txt","rw"); fprintf(fp,s); fclose(fp); } /* int main() { MYSQL mysql; mysql_init(&mysql); //初始化mysql结构 if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) printf("\n连接数据库时发生错误!\n"); else printf("\n连接数据库成功!\n"); mysql_close(&mysql); //释放数据库 return 0; }*/ int main(int argc, char* argv[]){ cout<<"start...."<<endl; pause(); MYSQL mysql; if(0==mysql_library_init(0,NULL,NULL)) { cout<<"mysql_library_init succeed"<<endl; }else{ cout<<"mysql_library_init failed"<<endl; return -1; } pause(); if(NULL!=mysql_init(&mysql)) { cout<<"mysql_init succeed"<<endl; }else{ cout<<"mysql_init failed"<<endl; return -1; } pause(); if(0==mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gb2312")) { cout<<"mysql_option succeed"<<endl; }else{ cout<<"mysql_option failed"<<endl; return -1; } pause(); if(NULL!=mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) { cout<<"mysql_real_connect succeed"<<endl; }else{ cout<<"mysql_real_connect failed"<<endl; return -1; } pause(); string sql; sql="select * from sgroup"; MYSQL_RES *result=NULL; if(0==mysql_query(&mysql,sql.c_str())) { cout<<"mysql_query select succeed"<<endl; result=mysql_store_result(&mysql); int rowcount=mysql_num_rows(result); cout<<"row count:"<<rowcount<<endl; unsigned int fieldcount=mysql_num_fields(result); MYSQL_FIELD *field=NULL; for(unsigned int i=0;i<fieldcount;i++) { field=mysql_fetch_field_direct(result,i); cout<<field->name<<"\t\t"; } cout<<endl; MYSQL_ROW row=NULL; row=mysql_fetch_row(result); while(NULL!=row) { for(int i=0;i<fieldcount;i++){ cout<<row[i]<<"\t\t"; } cout<<endl; row=mysql_fetch_row(result); } }else{ cout<<"mysql_query select data failed"<<endl; mysql_close(&mysql); return -1; } pause(); /*sql="drop table user_info"; if(0==mysql_query(&mysql,sql.c_str())) { cout<<"mysql_query drop table succeed"<<endl; }else{ cout<<"mysql_query drop table failed"<<endl; mysql_close(&mysql); return -1; } */ mysql_free_result(result); mysql_close(&mysql); mysql_server_end(); system("pause"); return 0; }
La connexion est réussie. . Ha ha. .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!