Maison > base de données > tutoriel mysql > le corps du texte

Comment connecter vc à la base de données MySQL

藏色散人
Libérer: 2020-10-26 15:34:09
original
2884 Les gens l'ont consulté

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.

Comment connecter vc à la base de données MySQL

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

1. Un petit programme simple pour voir si la connexion peut réussir. . .

#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;
}
Copier après la connexion

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;  
}
Copier après la connexion

Résultats en cours d'exécution :

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!