VS2013连接MySQL5.6成功案例一枚
作者:林多 发布时间:2024-01-20 17:36:51
如何在VS2013下对MySQL5.6进行连接,本文为大家提供了解决方案,供大家参考,具体内容如下
环境:win832系统,VS2013,MySQL5.6,boost1.60
需要注意的是,安装MySQL时需要安装完整版本,否则在MySql的目录下可能会没有Connector.C++ 1.1这个目录。
boost下载后,直接解压即可。(我是放在C:\Program Files目录下),下载地址:http://www.boost.org/users/download/
连接的方式有2种:
一种是纯C风格的,不需要使用Connector.C++ 1.1目录下提供的内容。(个人觉得麻烦,代码看着乱,网上有很多资源)。
一种就是利用Connector.C++ 1.1提供的内容,代码简洁,这里只讲这种方法连接数据库。
首先,新建一个VC++的win32空项目。添加源文件,代码如下(代码暂时无法运行,具体配置在后面)
源.cpp
#include<cppconn\driver.h>
#include<cppconn\exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include<mysql_connection.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
sql::Driver *dirver;
sql::Connection *con;
sql::Statement *stmt;
sql::PreparedStatement *pstmt;
sql::ResultSet *res;
dirver = get_driver_instance();
//连接数据库
con = dirver->connect("localhost", "root", "123456");
//选择mydata数据库
con->setSchema("mydata");
con->setClientOption("characterSetResults", "utf8");
stmt = con->createStatement();
//从name_table表中获取所有信息
res = stmt->executeQuery("SELECT * from name_table");
//循环遍历
while (res->next())
{
//输出,id,name,age,work,others字段的信息
cout << res->getInt("ID") << " | "
<< res->getString("name") << " | "
<< res->getInt("age") << " | "
<< res->getString("work") << " | "
<< res->getString("others") << endl;
}
//清理
delete res;
delete stmt;
delete con;
return 0;
}
对于以Debug版本运行的程序:
1、项目(P)——xxx属性页——配置属性——C/C++——附加包含目录添加:
C:\Program Files\MySQL\Connector.C++ 1.1\include
C:\Program Files\boost_1_60_0
2、项目(P)——xxx属性页——配置属性——链接器——常规——附加库目录添加
C:\Program Files\MySQL\Connector.C++ 1.1\lib\debug
3、项目(P)——xxx属性页——配置属性——链接器——输入——附加依赖项添加
mysqlcppconn.lib
4、将C:\Program Files\MySQL\MySQL Server 5.6\lib目录下的libmysql.dll和C:\Program Files\MySQL\Connector.C++ 1.1\lib\debug目录下的mysqlcppconn.dll,拷贝到工程目录中(和源文件放在一个目录即可)。
对于以Release版本运行的程序:
1、项目(P)——xxx属性页——配置属性——C/C++——附加包含目录添加:
C:\Program Files\MySQL\Connector.C++ 1.1\include
C:\Program Files\boost_1_60_0
2、项目(P)——xxx属性页——配置属性——链接器——常规——附加库目录添加
C:\Program Files\MySQL\Connector.C++ 1.1\lib\opt
3、项目(P)——xxx属性页——配置属性——链接器——输入——附加依赖项添加
mysqlcppconn.lib
4、将C:\Program Files\MySQL\MySQL Server 5.6\lib目录下的libmysql.dll和C:\Program Files\MySQL\Connector.C++ 1.1\lib\opt目录下的mysqlcppconn.dll,拷贝到工程目录中(和源文件放在一个目录即可)。
为什么区别配置Debug和Release版本?
可以试一下,以本文的程序为例,以Debug的配置,在Release版本下运行不了程序。反之亦然。
运行结果:
数据库中的数据
程序运行结果
精彩专题分享: mysql5.6各版本安装教程


猜你喜欢
- 主要问题为什么argv中第一个,即index=0的内容就是文件名?python中argc是用什么实现的?概念解释argc:argument
- 标志是一种简单的工具,就象铁锤,简单实用。如果一种工具功能太多导致其效用减弱,那就让它保持简单。你并不需要一把有太多装饰的精美铁锤。对于象征
- var p="",s="4e00"; for( var i=0;i<255;i++){ p+=
- CAS算法(compare and swap)CAS算法涉及到三个操作数需要读写的内存值V进行比较的值A拟写入的新值B当且仅当 V 的值等于
- (1)安装Jpype 用Python调用jar包需要安装jpype扩展,在Ubuntu上可以直接使用apt-get安装jpype扩展$ su
- MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回。SE
- sql中增删改查语句:1、“INSERT INTO”语句,用于向表格中增加新的行;2、&ld
- mac下安装mysql8.0.11时 要求输入密码 之后想修改密码注意 此方法适用于mac下的mysql8.0.11 其他版本不一定相同1.
- 1. 获取时间函数功能返回格式CURDATE(), CURRENT_DATE()返回当前日期,只包含年、月、日2022-03-08CURTI
- 1.数据集分割通过datasets可以直接分别获取训练集和测试集。通常我们会将训练集进行分割,通过torch.utils.data.rand
- <html> <head> <title>Untitled Document</title>
- 最近碰见太多次lambda函数了,那就来详细解释一下该函数。lambda函数我们先对lambda函数进行一个简单的介绍lambda函数是一种
- 看例子:运行代码框<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti
- 第一种--对象键值去重Array.prototype.unique1 = function () { var r
- 1、什么是AspJpeg?AspJpeg是一款功能强大的基于Microsoft IIS环境的图片处理组件,网络上对其进行详细和深入介绍的中文
- Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:whil
- Python中对sqlite3数据库进行操作时,经常需要用到字段名,然而对于sqlite使用select语句并不能象MySql等数据库一样返
- 核心代码: header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); head
- 前言我是栗子——专为小白准备《Python从入门到实战》内容。这不是上一期刚讲完循环判断,还给大家出了很多新手的题目,边学边练习才有效果嘛。
- 1.前期准备用户models.pyclass User(models.Model): username = mod