VS 2010 工具用c++ 实现和mysql的连接 ——报错无法正常启动

c++连接mysql的实现

身边没一个懂c++的,被这个问题困了四天了。网上搜索了很多,最终卡到这一步了。求大腿!!

报错显示:图片说明

有些时候还报错:libmysql.dll丢失或损坏。
工程里面只有一个源文件 --> ConnectionDatabase.cpp
数据库连接配置参照的是:http://blog.csdn.net/liyuqian199695/article/details/53310349
只添加了三个参数 include、lib、libmysql.lib ,且连接正常。

 #include <winsock2.h>
#include <iostream>
#include <string>
#include <mysql.h>
#include <tchar.h> 
#pragma comment(lib, "libmysql32.lib")
// #pragma comment(lib,"ws2_32.lib")
using namespace std;

int main(int argc, _TCHAR* argv[])
{
//必备数据结构
MYSQL mydata;  //=mysql_init((MYSQL*)0);

    //初始化数据结构
    if (NULL != mysql_init(&mydata)) {
        cout << "mysql_init() succeed" << endl;
    } else {
        cout << "mysql_init() failed" << endl;
        return -1;
    }

    //初始化数据库
    if (0 == mysql_library_init(0, NULL, NULL)) {
        cout << "mysql_library_init() succeed" << endl;
    } else {
        cout << "mysql_library_init() failed" << endl;
        return -1;
    }

    //连接数据库
    if (NULL!= mysql_real_connect(&mydata, "localhost", "root", "root", "text",
                    3306, NULL, 0))
            //这里的地址,用户名,密码,数据库,端口可以根据自己本地的情况更改
{
        cout << "mysql_real_connect() succeed" << endl;
} 
else 
{
        cout << "mysql_real_connect() failed" << endl;
        return -1;
    }
mysql_close(&mydata);
system("pause");
return 0;
}

你试试用CDatabase类中的方法

建议你直接到MySql官网上去查Mysql为不同的编程语言提供的连接接口,地址:https://dev.mysql.com/doc/index-connectors.html,里面详细介绍了从库到工程再到源码级的详细步骤,别随便在网上找答案,一是网上的答案很可能过时,而是可能版本不对。(PS:该网址可能需要翻墙访问)

你用的库错误了,你到网上下载mysql的静态库lib,然后编译,才可以只用exe就能运行,不然,你需要下载mysql.lib对应的mysql.dll,然后放在exe的同级目录下,再运行exe

每种语言都有各自的调用静态库lib的格式

从报的错来看的话,是入口函数出现了异常。建议你重新建一个工程,将代码拷贝过去。一步一步调试

没有引用头文件,还有必须把接口加进来才行