C++ 写入和读取 mysql 数据库

标签 c++ mysql database windows

我正在做一个项目,我们想在这个项目中写入 mysql 数据库,我用谷歌搜索并尝试了一些实现,但都失败了。

例如我试过这个:http://markalexanderbain.suite101.com/using-a-mysql-databases-with-c-a70097

#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 comment(lib, "libmysql") 和#pragma comment(lib, "mysqlclient") 我正在使用 mysql ga 5.5.16 32 位中包含的这些文件。

所以我正在寻找一种写入 mysql 数据库的方法,如果有人知道如何解决这个问题以使其工作或知道另一种方法的教程,请告诉我。

最佳答案

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

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

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

关于C++ 写入和读取 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7698044/

相关文章:

mysql - 在 Web 服务器级别锁定 MySQL 表

c++ - 如何将字符串转换为 xmlChar

c++ - 递归增量澄清

MySQL INSERT 使用多个表中的变量

python - mysql sqlalchemy mysql隔离错误

数据库设计 : OR relation

database - docker 在没有主机卷的情况下运行本地脚本

java - 集合与容器的区别

c++ - 我应该采取什么方法将 ascii 字符转换为 C++ 中的其他字符

php - InnoDB 安全或不安全事务