身边没一个懂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的格式
从报的错来看的话,是入口函数出现了异常。建议你重新建一个工程,将代码拷贝过去。一步一步调试
没有引用头文件,还有必须把接口加进来才行