c++使用mysql的api连接相关问题

记录一下自己使用中的相关问题,方便有相同问题的同学解决。

  • 关于在VS中的各种配置。看这里。只是须要注意一下,我如今用的mysql版本号是5.6的,已经没有【MySQL Server \lib\opt】这个路径了。将这一项设置到【MySQL Server \lib】就可以

  • 假设出现例如以下错误:
    1>main.obj : error LNK2019: 无法解析的外部符号 _mysql_server_init@12,该符号在函数 _main 中被引用
    1>main.obj : error LNK2019: 无法解析的外部符号 _mysql_init@4。该符号在函数 _main 中被引用
    1>main.obj : error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
    1>main.obj : error LNK2019: 无法解析的外部符号 _mysql_options@12,该符号在函数 _main 中被引用

    由于依照第一步来的时候,建立的是win32项目,而如今系统、mysql使用的就均是x64的。改成x64就可以,操作过程例如以下:
    .项目->属性->配置管理器
    活动解决方式平台。下拉选新建,出现一个新的对号框。在键入选择新平台中选择X64
    学习自这里

  • 之后能够写一个简单的c程序測试一下是否成功
    #include "winsock.h"  
    #include "iostream"  
    #include "mysql.h"  
    #pragma comment(lib, "ws2_32.lib")  
    #pragma comment(lib, "libmysql.lib")  
    using namespace std;  
          
    void main()  
    {  
        MYSQL mydata;  
          
        mysql_library_init(0,NULL,NULL);//初始化MySQL C API库  
        mysql_init(&mydata);//初始化mydata的数据结构,mydata是MYSQL对象  
        mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk");//连接选项:加入GBK字符集支持  
          
        //连接函数  
        if(mysql_real_connect(&mydata,"localhost","root","1234","demo", 3306, 0, 0) != NULL)  
            cout<<"database connection OK!"<<endl;  
    }  

    这里注意一下,mysql_real_connect函数中的几个參数(&mydata,"localhost","root","1234","demo", 3306, 0, 0),一般就须要改2,3,4,5几个參数就可以,分别为数据库位置,username,password,待连接的数据库名称

  • 假设代码中出现#include "stdafx.h"报错:ERROR。无法打开源文件...,參见这里
    主要是因为这个头文件属于预编译头文件。假设在创建项目时候没有告诉VS相关信息,当然不认识这是什么东西了。



  • #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL
    參见这里

  • c++ fatal error C1083: 无法打开预编译头文件:“.\Debug\router.pch”
    參见这里,这个问题也属于预编译头文件问题


posted @ 2016-03-27 12:12  lcchuguo  阅读(806)  评论(0编辑  收藏  举报