mysql connector cpp_MySQL Connector/C++库的使用

一、下载Connector/C++库

官网地址:

可以下载源代码自己编译,也可以根据不同的OS环境下载编译好的包,这里下来mysql-connector-c++-1.1.9-linux-ubuntu16.04-x86-64bit.tar.gz

二、解压

这里放在mysql的安装目录/opt/mysql下: $ cd /opt/mysql/ $ sudo tar xzvf ~/mysql-connector-c++-1.1.9-linux-ubuntu16.04-x86-64bit.tar.gz $ sudo ln -s mysql-connector-c++-1.1.9-linux-ubuntu16.04-x86-64bit mysql-connector-c++

把/opt/mysql/mysql-connector-c++/lib放到动态库搜索路径或用,-rpath=在编译时指定路径。

三、编译运行

建库脚本: -- phpMyAdmin SQL Dump -- version 4.6.4 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Generation Time: 2017-12-30 08:49:43 -- 服务器版本: 5.7.14 -- PHP Version: 5.6.26 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `mymotif` -- -- -------------------------------------------------------- -- -- 表的结构 `users` -- CREATE TABLE `users` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT NULL, `fullname` varchar(40) DEFAULT NULL, `password` varchar(12) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- 转存表中的数据 `users` -- INSERT INTO `users` (`id`, `name`, `fullname`, `password`) VALUES (1, 'ed', 'Ed Jones', 'edspassword'), (2, 'wendy', 'Wendy Williams', 'foobar'), (3, 'mary', 'Mary Contrary', 'xxg527'), (4, 'lisa', 'lisa Contrary', 'ls123'), (5, 'cred', 'cred Flinstone', 'bla123'), (6, 'fred', 'Fred Flinstone', 'blah'), (7, 'jack', 'Jack Bean', 'gjffdd'), (8, 'ed', 'Ed Jones', 'edspassword'), (14, 'jack', 'Jack Bean', 'gjffdd'), (15, 'ed', 'Ed Jones', '888'), (16, 'wendy', 'Wendy Williams', 'foobar'), (17, 'mary', 'Mary Contrary', '123'), (18, 'lisa', 'lisa Contrary', 'ls123'), (19, 'cred', 'cred Flinstone', 'bla123'), (20, 'fred', 'Fred Flinstone', 'blah'), (21, 'jack', 'Jack Bean', 'gjffdd'), (22, 'wxw01', 'Jack wxw', '123'), (23, 'wxw02', 'Jack wxw2', '234'); -- -- Indexes for dumped tables -- -- -- Indexes for table `users` -- ALTER TABLE `users` ADD PRIMARY KEY (`id`); -- -- 在导出的表使用AUTO_INCREMENT -- -- -- 使用表AUTO_INCREMENT `users` -- ALTER TABLE `users` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

c++代码testcppconn.cpp #include #include #include #include #include #include #include #include using namespace std; int main() { sql::mysql::MySQL_Driver *driver; sql::Connection *conn; sql::Statement *state; sql::ResultSet *result; driver = sql::mysql::get_driver_instance(); conn = driver->connect("localhost", "your-user", "your-passwd"); state = conn->createStatement(); state->execute("use test"); result = state->executeQuery("select * from users"); 输出查询 while (result->next()!=NULL) { cout<getString("id")<getString("fullname")<

编译运行 $ g++ testcppconn.cpp -o testcppconn -I/opt/mysql/mysql-connector-c++/include -L/opt/mysql/mysql-connector-c++/lib -lmysqlcppconn -Wl,-rpath=/opt/mysql/mysql-connector-c++/lib $ ./testcppconn 1Ed Jones 2Wendy Williams 3Mary Contrary 4lisa Contrary 5cred Flinstone 6Fred Flinstone 7Jack Bean 8Ed Jones 14Jack Bean 15Ed Jones 16Wendy Williams 17Mary Contrary 18lisa Contrary 19cred Flinstone 20Fred Flinstone 21Jack Bean 22Jack wxw 23Jack wxw2

pkg-config的使用,写个mysqlconncpp.pc放在$PKG_CONFIG_PATH路径里: prefix=/opt/mysql/mysql-connector-c++ includedir=${prefix}/include libdir=${prefix}/lib Name: mysqlcppconn Description: MySQL Connector/C++ library Version: 1.1.9 Cflags: -I${includedir} Libs: -L${libdir} -lmysqlcppconn Libs.private: -lpthread -lm -lrt -ldl

这样编译命令就可以变成这样: $ g++ -o testcppconn testcppconn.cpp `pkg-config --libs --cflags mysqlconncpp` -Wl,-rpath=/opt/mysql/mysql-connector-c++/lib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QT MySQL Connector/C++ 是一个用于在 Qt 应用程序中连接和操作 MySQL 数据C++ 接口。它是基于 MySQL Connector/C++ 开发的,提供了方便的 API 和功能,使开发人员能够轻松地与 MySQL 数据进行交互。 使用 QT MySQL Connector/C++,您可以执行各种数据操作,如连接到数据,执行查询和更新操作,处理事务等。它还提供了对预处理语句的支持,使您可以安全地执行参数化查询,以防止 SQL 注入攻击。 要在您的 Qt 项目中使用 QT MySQL Connector/C++,您需要下载和安装 MySQL Connector/C++ ,并在 Qt 项目中包含相应的头文件和链接。然后,您可以使用提供的类和方法来创建数据连接对象,执行查询和操作数据。 以下是一个简单的示例代码,演示如何使用 QT MySQL Connector/C++ 连接到 MySQL 数据并执行查询操作: ```cpp #include <QtSql> #include <QDebug> int main() { // 创建数据连接 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("your_database_name"); db.setUserName("your_username"); db.setPassword("your_password"); // 打开数据连接 if (db.open()) { qDebug() << "Database connected."; // 执行查询操作 QSqlQuery query; query.exec("SELECT * FROM your_table_name"); // 遍历结果集 while (query.next()) { QString value = query.value(0).toString(); // 获取第一列的值 qDebug() << "Value:" << value; } // 关闭数据连接 db.close(); } else { qDebug() << "Database connection failed."; } return 0; } ``` 请注意,上述代码仅演示了连接到数据和执行查询操作的基本步骤。根据您的实际需求,您可以使用更多的方法和类来执行其他类型的数据操作。 希望这能帮助您开始使用 QT MySQL Connector/C++ 连接和操作 MySQL 数据。如有任何进一步的问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值