C++踩坑之连接mysql数据库

实现的效果

https://www.cr173.com/soft/105990.html
下载connect C++ 安装软件
安装到D盘,安装32位即可 64位不要

找到boost c++ library 下载,不要下载错了,页面如下
1.64版本 1.54版本都行,

难度 : ⭐⭐⭐⭐⭐(全星5颗星的情况下)




找到相应的下载文件,然后解压,注意下载.7z文件,因为文件较小,
在文件的路径直接输入cmd敲回车,直接进入相应的文件夹,输入bootst 按Tab自动匹配,我们要 bootstrap.bat 那个批处理文件,直接回车过一段时间,大概2~3分钟,生成一个bjam.exe 文件, 再次 bj Tab键 执行一下那个exe文件,boost就在安装了
,vs 2017新建一个windows控制台工程,咱们输入一些代码验证一下;

#include <boost/lexical_cast.hpp>
#include <iostream>
using namespace std;
int main()
{using boost::lexical_cast;int a = lexical_cast<int>("123");double b = lexical_cast<double>("123.0123456789");string s0 = lexical_cast<string>(a);string s1 = lexical_cast<string>(b);cout << "number: " << a << "  " << b << endl;cout << "string: " << s0 << "  " << s1 << endl;int c = 0;try {c = lexical_cast<int>("abcd");}catch (boost::bad_lexical_cast& e) {cout << e.what() << endl;}return 0;
}


打印出来这样,即可安装成功!

下一步咱们配置mysql连接C++的环境

选中项目,右击属性,找到画红色框,改成这样,注意不要选择了解决方案了;


添加mysqlcppconnlib库

从安装的connect C++文件夹找到opt文件夹里面找到那个dll库复制到工程的debug文件夹下
如图


最后点CPP文件塞入一段代码测试一下,看看是否出效果


#include <iostream>
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#include <mysql_driver.h>
using namespace sql;
using namespace std;class Mysql {public:mysql::MySQL_Driver *driver;Connection *con;//连接指针Statement *state;//状态集ResultSet *result;//结果集PreparedStatement *prep_stmt;Mysql()//构造函数{driver = sql::mysql::get_mysql_driver_instance();// 建立链接con = driver->connect("tcp://127.0.0.1:3306", "root", "root");//连接地址        端口号  连接用户  密码            state = con->createStatement();state->execute("use test");//使用哪个数据库(我的是 medicine )state->execute("set names gbk");cout << "=====" << endl;}void query()//查询{/*使用数据库名为  medicine表名为: user含有字段: account  password name classification*/// 查询result = state->executeQuery("select * from tt_user");//执行SQL语句cout << result->rowsCount() << endl;//获取记录集数据// 输出查询cout << "id" <<" |  " << "姓名" << " |  " << "年龄" << " |  " << "地址 "<< endl;cout << "" << endl;//while (result->next()){//cout << result->getString("account")<< endl;//之前直接使用getString() 导致 程序崩溃  后查阅资料 需要使用//如下代码 方可正确   cout << result->getString("account").c_str() << endl;cout << result->getString("id").c_str() << " | ";//cout << result->getString("name").c_str() << " | ";//cout << result->getString("age").c_str() << " | ";//cout << result->getString("address").c_str() << endl;//cout << "" << endl;//}}~Mysql()//析构函数{delete state;delete con;}};
int main()
{Mysql m;m.query();return 0;
}//#include <boost/lexical_cast.hpp>
//#include <iostream>
//using namespace std;
//int main()
//{//  using boost::lexical_cast;
//  int a = lexical_cast<int>("123");
//  double b = lexical_cast<double>("123.0123456789");
//  string s0 = lexical_cast<string>(a);
//  string s1 = lexical_cast<string>(b);
//  cout << "number: " << a << "  " << b << endl;
//  cout << "string: " << s0 << "  " << s1 << endl;
//  int c = 0;
//  try {//      c = lexical_cast<int>("abcd");
//  }
//  catch (boost::bad_lexical_cast& e) {//      cout << e.what() << endl;
//  }
//  return 0;
//}
//
//

Mysq’l建表的语句

/*
SQLyog Ultimate v10.00 Beta1
MySQL - 5.7.18-log
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;create table `tt_user` (`id` int ,`name` varchar ,`age` int ,`address` varchar
);
insert into `tt_user` (`id`, `name`, `age`, `address`) values('1','大军','26','上海市');
insert into `tt_user` (`id`, `name`, `age`, `address`) values('2','小杨','24','云南');
insert into `tt_user` (`id`, `name`, `age`, `address`) values('3','赵刘','27','陕西');
insert into `tt_user` (`id`, `name`, `age`, `address`) values('4','李四','23','安徽');
insert into `tt_user` (`id`, `name`, `age`, `address`) values('5','老刘','30','安徽安庆');
insert into `tt_user` (`id`, `name`, `age`, `address`) values('6','王二','22','北京市');
insert into `tt_user` (`id`, `name`, `age`, `address`) values('7','123','213','213');

C++踩坑之连接mysql数据库相关推荐

  1. 微信小程序采坑之连接MySql数据库

    前言:我用的是wafer2 node.解决方案 下面连接有环境配置及搭建流程(GitHub - tencentyun/wafer2-quickstart-nodejs: Wafer2 Node.js ...

  2. 无限踩坑系列(6)-mySQL数据库链接错误

    mySQL数据库链接错误 错误1 错误2 长链接短连接 应用场景需要一直访问mySQL数据库,遇到如下错误: 错误1 释放已经释放的数据库链接conn.,或者,操作已经释放的数据库链接conn.或者失 ...

  3. AndroidStudio通过JDBC连接MySQL数据库六大巨坑

    文章目录 注意 基础 Androidstudio通过JDBC连接数据库巨坑介绍(这里呢,我使用我所做项目的修改密码界面来做介绍) 1.网络权限问题(打不开apk) 2.jar包问题(找不到driver ...

  4. egg.js连接mysql数据库遇到的问题

    最近在策划写一个博客采用前后端分离模式,前端使用vue后端使用egg.js,我也是刚开始学习egg.js,所以会将自己踩的坑都记录下来. 首先介绍下后端为什么采用egg.js吧,之前我是学习了koa2 ...

  5. 前端网站连接MySQL数据库

    前端(Vue.js)连接MySQL数据库 实现本地web服务器与MySQL数据库连接删改,查找. 文章目录 前端(Vue.js)连接MySQL数据库 实现本地web服务器与MySQL数据库连接删改,查 ...

  6. linux mysql如何远程连接mysql数据库,Linux下远程连接MySQL数据库的方法

    Linux下远程连接MySQL数据库的方法 踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据 ...

  7. java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...

    展开全部 用jdbc 连接mysql数据库就行了,网上搜下一大把. --记得在classpath下加入mysql 的jdbc驱动包. /** * @author :来e68a84e8a2ad32313 ...

  8. 如何在IDEA中连接mysql数据库

    补充说明下,本篇博文连接数据库,只是将IDEA作为一个Mysql数据库的可视化界面,无法在代码中访问.如果你们是想在代码中连接MySQL数据库,比如通过访问数据库的用户名和密码来进行登录验证,那么请看 ...

  9. EF6 使用 和 连接MySql 数据库-闪退和若干问题解决

    在visual studio中用EF6连接Mysql数据库,搞了我两天,刚刚搞定,其实很简单就是版本的问题,这里填个坑. 首先,必备插件 1. MySql Connector/NET 2. MySql ...

最新文章

  1. 京东涉足快递业加剧行业动乱
  2. 菜鸟学习javascript实例教程
  3. 第二阶段个人冲刺10
  4. JavaString库
  5. 【电信增值业务学习笔记】10基于业务节点的增值业务提供技术
  6. wrapper包装java_java Object 类 与 Wrapper包装类
  7. 计算机应用基础成教作业,(计算机应用基础成教08A卷1.doc
  8. Java Map 怎样实现Key 的唯一性?
  9. 三年后,人工智能将彻底改变前端开发?
  10. Nova reboot 和 lock 操作 - 每天5分钟玩转 OpenStack(32)
  11. CSS.DIV网页样式与布局学习总结
  12. 凸优化有关的数值线性代数知识 1矩阵结构与算法复杂性
  13. TMS320F280049C 学习笔记4 Led_ex1_blinky 初始化函数及系统时钟
  14. 转载的硬件十万个为什么
  15. 边境的悍匪—机器学习实战:第十二章 使用TensorFlow自定义模型和训练
  16. AR小项目的制作过程(一)
  17. java工程项目的结构拆分
  18. 第八章第一节:Java继承之继承概念、语法、成员访问和super关键字
  19. 数据库第七次作业——更新数据
  20. 315道面试题【1】

热门文章

  1. linux文件系统分隔符,Linux的哲学思想和文件系统
  2. mac全选文字的快捷键_最全Mac系统快捷键一览
  3. Linux更改显示管理器,聊聊Linux操作系统中的显示管理器及如何更换
  4. aix么把占用的端口释放掉_AIX 环境下Telnet返回提示所有端口已经被占用,处理方法...
  5. java 多模块项目 包路径冲突_多智能体仿真建模在交通中的应用|MATSim入门指南...
  6. 电气毕业生在国家电网都干啥工作?
  7. 「第三只手」机械臂:采水果,破墙壁!
  8. 刚刚,这几门保证就业的算法类课程,居然能免费听了!
  9. oracle audit文件,[20191128]oracle Audit文件管理2.txt
  10. php判断参数_php检查函数必传参数是否存在的实例详解