使用 OTL 库从 c++ 程序将数据插入 mysql 表
Posted
技术标签:
【中文标题】使用 OTL 库从 c++ 程序将数据插入 mysql 表【英文标题】:Insert data into mysql table from c++ program using OTL library 【发布时间】:2013-09-04 05:03:21 【问题描述】:我想将int
和string
值从c++ 程序插入到mysql 表中。
for (std::map < int, std::vector < std::string > >::iterator hit = three_highest.begin(); hit != three_highest.end(); ++hit)
//std::cout << hit->first << ":";
for (std::vector < std::string >::iterator vit = (*hit).second.begin(); vit != (*hit).second.end(); vit++)
std::cout << hit->first << ":";
std::cout << *vit << "\n";
我想插入hit->first
和*vit
。
我在这里看到了示例:OTL Example for mysql。它对我有用吗?
以及如何在我的系统中设置 OTL 环境?我需要安装它还是什么?
这是另一个非常简单的例子。但它直接include <mysql.h>
我在我的系统中找不到。它使用什么环境?
我使用的是 Linux - Ubuntu 环境。
【问题讨论】:
我相信 mysql 不在 /usr/include 但 /usr/include/mysql 所以你应该能够通过#include <mysql/mysql.h>
包含它。对于您的其他问题,请使用 ubuntu 上的 mysql 安装/设置指南。 IT 应该已经存在,也许它的守护进程必须运行(所以它正在运行),那么你的程序应该在 mysql 上运行良好
【参考方案1】:
这里我知道了如何连接c++和mysql:
首先从源代码编译了 c++ 连接器库,但过了一段时间我想也许我做错了什么,所以我就用 apt 来获取它:
sudo apt-get install libmysqlcppconn-dev
所以我现在这个问题已经有一个星期了,我也对此感到非常沮丧。我刚刚终于能够构建一个除了登录 mysql 之外什么都不做的程序,我真的高兴得尖叫起来。这是我所拥有的,希望对您有所帮助。
我首先从源代码编译了 c++ 连接器库,但过了一段时间我想也许我做错了什么,所以我就用 apt 来获取它:
sudo apt-get install libmysqlcppconn-dev
这是我的简单测试器源文件“tester.cpp”
#include <stdlib.h>
#include <iostream>
#include <mysql_connection.h>
#include <driver.h>
#include <exception.h>
#include <resultset.h>
#include <statement.h>
using namespace sql;
int main(void)
sql::Driver *driver;
sql::Connection *con;
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306","root","YOURPASSWORD");
return 0;
最后是g++编译命令:
sudo g++ -Wall -I/usr/include/cppconn -o testapp tester.cpp -L/usr/lib -lmysqlcppconn
【讨论】:
以上是关于使用 OTL 库从 c++ 程序将数据插入 mysql 表的主要内容,如果未能解决你的问题,请参考以下文章