2011-10-08 276 views
1

我正在研究一个项目,我们要写入一个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数据库,如果任何人知道如何解决这个问题,使其工作或知道与教程的另一种方式,请让我知道。

回答

2

错误代码0xc0000135的含义是“应用程序无法正确初始化”。这几乎可以肯定是由于缺少一个DLL(或两个)。可能与#pragma lib声明中提到的MySQL有关。

将它们添加到您的路径或将它们复制到与.exe相同的目录中。

编辑:按照here的说明操作,以便使用正确的选项进行编译。 MySQL安装中应该包含文件mysqlclient.dll(如果找不到它,请执行系统文件查找)。

+0

谢谢,但我找不到mysqlclient.dll没有人知道我在哪里可以找到它? – gijs007

+0

我已经编辑了更多细节的答案。 – trojanfoe

+0

谢谢,它显然没有mysqlclient.dll。 – gijs007