C++写入和从MySQL数据库中读取
问题描述:
我正在研究一个项目,我们要写入一个MySQL数据库,我已经搜索并尝试了一些实现,但都失败了。C++写入和从MySQL数据库中读取
比如我尝试这样做:
#include "StdAfx.h"
#include <iostream>
#include <my_global.h>
#include <mysql.h>
#pragma comment(lib, "libmysql")
#pragma comment(lib, "mysqlclient")
using namespace std;
MYSQL *connection, mysql;
MYSQL_RES *result;
MYSQL_ROW row;
int query_state;
int main()
{mysql_init(&mysql);
//connection = mysql_real_connect(&mysql,"host","user","password","database",0,0,0);
connection = mysql_real_connect(&mysql,"localhost","bainm","not_telling","cpp_data",0,0,0);
if (connection == NULL)
cout << mysql_error(&mysql) << endl;
return 1;
}
它编译并生成exe文件,但它会关闭每次我尝试运行它的时候,我在年底,因此增加了cin.get不会关闭。
但程序仍然关闭,Visual Studio 2010给我以下错误信息:程序'[32856] mysql test.exe:Native'已退出,代码为-1073741515(0xc0000135)。
所有这些实现中唯一常见的是包含文件和#pragma注释(lib,“libmysql”)和#pragma注释(lib,“mysqlclient”) 我正在使用这些文件包括在MySQL GA 5.5.16 32位。
所以我正在寻找一种方法来写入到MySQL数据库,如果任何人知道如何解决这个问题,使其工作或知道与教程的另一种方式,请让我知道。
答
错误代码0xc0000135的含义是“应用程序无法正确初始化”。这几乎可以肯定是由于缺少一个DLL(或两个)。可能与#pragma lib
声明中提到的MySQL有关。
将它们添加到您的路径或将它们复制到与.exe相同的目录中。
编辑:按照here的说明操作,以便使用正确的选项进行编译。 MySQL安装中应该包含文件mysqlclient.dll
(如果找不到它,请执行系统文件查找)。
谢谢,但我找不到mysqlclient.dll没有人知道我在哪里可以找到它? – gijs007
我已经编辑了更多细节的答案。 – trojanfoe
谢谢,它显然没有mysqlclient.dll。 – gijs007