@Andream
2017-08-13T10:15:45.000000Z
字数 1761
阅读 1748
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语句,语句中带有未知参数,用?表示//具体使用请看例子