@Andream
2017-08-13T18:15:45.000000Z
字数 1761
阅读 1615
MySQL
#include "MySQLServer.h"
// 连接数据库
MySQLServer mysql("tcp://127.0.0.1:3306", "root", "password");
// 初始化数据库
mysql.execute("create database if not exists library");
mysql.execute("use library");
mysql.execute("create table if not exists user(username TEXT, password TEXT)");
// 查询
sql::ResultSet *res = mysql.executeQuery("select * from user where username=Andream");
cout << res->getString("username") << res->getString("password");
delete res;
// 插入
mysql.execute("INSERT INTO user(username,password) VALUES (Andream, 123)");
// prepare查询
sql::ResultSet *res = mysql
.prepare("select * from user where username=?")
.setString("Andream") // 填入第一个问号
.executeQuery(); // 查询
recycle(); // 回收指针,与prepare搭配使用
// prepare插入
mysql.prepare("INSERT INTO user(username,password) VALUES (?, ?)")
.setString("Andream")
.setString("123")
.execute();
recycle(); // 回收指针,与prepare搭配使用
本例基于MySQL C++ Connector, 请确认你已经安装了该组件(目录默认在C:\Program Files\MySQL\Connector.C++ 1.1)。
官方文档:https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-connecting.html
1、安装MySQL及C++ Connector
2、安装Boost(因为C++ Connector依赖这个库)
3、新建MFC工程,选择【64位】
编译器(因为MySQL是64位的)
4、选择"项目->属性->VC++目录",根据你的安装目录配置【包含目录】
和【库目录】
如:
包含目录添加 C:\Program Files\MySQL\Connector.C++ 1.1\include;
包含目录添加 I:\Program Files\boost_1_64_0;
库目录添加 C:\Program Files\MySQL\Connector.C++ 1.1\lib\opt;
以具体安装目录为准,注意用英文分号隔开
5、在"项目->属性->链接器->输入->附加依赖项"中添加mysqlcppconn.lib
6、将C:\Program Files\MySQL\Connector.C++ 1.1\lib\opt\mysqlcppconn.dll
复制到项目源代码目录下
以下为可选步骤
7、将MySQLServer.h, MySQLServer.cpp复制到你的项目目录下,再通过【添加现有项】
加入你的项目中
注:(MySQLServer是我简单封装了的C++ Connector, 你也可以跳过这步,直接使用C++ Connector, 参见官方文档)
8、之后你可以继承MySQLServer,或者直接使用MySQLServer连接数据库,具体的请看例子
MySQLServer(host, username, password, schema); // 在构造函数中直接连接数据库,schema可选。
execute(sql); // 执行SQL语句
executeQuery(sql); // 执行SQL查询语句
prepare(sql); // 准备SQL语句,语句中带有未知参数,用?表示
//具体使用请看例子