• 技术文章 >数据库 >mysql教程

    vc 怎样连接mysql数据库

    藏色散人藏色散人2020-10-26 15:34:09原创460

    vc连接mysql数据库的方法:首先打开VC6;然后在中间列表框中添加本地安装MySQL的include目录路径;接着选中“Library files”并添加MySQL的Lib目录路径;最后进行编程测试即可。

    推荐:《mysql视频教程

    一、MySQL的安装

    Mysql的安装去官网下载就可以。。。最新的是5.7版本。。

    二、VC6.0的设置

    (1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。如图:

    (2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。如图:

    **这里要说明一下:细心的人会发现我的这个目录和上一个图中的不一样,这是因为这个错误:libmysql.lib : fatal error LNK1113: invalid machine 无效的服务器

    这是因为vc开发的是32位的程序,而mysql数据库是64位导致的,你用32位的程序去操作64位的数据库肯定会出错,我在下一篇博文中将详细说明怎么解决。

    (3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。


    (5)建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。

    这两个文件在D:\Mysql\lib目录下。

    三、编程实现

    1. 一个简单的小程序,看看是否能连接成功。。。

    #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是我的用户名,“123456”是密码,“student_db”是数据库,3306是端口号

    2.实现查询小程序

    // 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;  
    }

      运行结果:

    至此连接成功。。哈哈。。

    以上就是vc 怎样连接mysql数据库的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:vc mysql
    上一篇:mysql如何查询以谁结尾 下一篇:如何解决mysql server错误10038的问题
    大前端线上培训班

    相关文章推荐

    • mysql5.7 报错1055怎么办• 如何解决ip 连不上mysql• 电脑怎么安装mysql5.1• cmd中怎样用命令安装mysql?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网