平台:windows c/c++

编译器:vs2017

项目设置:项目属性页:

1.C/C++ ->常规->附加包含目录->C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include 这里是我的目录,具体找自己安装目录下的include

2.链接器->常规->附加库目录->C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib

3.链接器->输入->附加依赖项->libmysql.lib

配置完成。

测试代码:

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdlib.h>
#include "mysql.h"
#include <string>

using namespace std;

int main(int argc,char* argv[])
{
 MYSQL mysql; //必备的数据结构
 //初始化数据结构
 MYSQL* sqlinit=mysql_init(&mysql);
 if (sqlinit == NULL)
 {
  cout << "mysql init failed!" << endl;
  return -1;
 }
 //初始化数据库 int STDCALL mysql_server_init(int argc, char **argv, char **groups);
 if (0 == mysql_server_init(argc, argv, 0))
 {
  cout << "mysql_server_init succeed!" << endl;
 }
 else
 {
  cout << "mysql_server_init failed!" << endl;
  return -2;
 }
 //设置连接选项  避免中文无法处理
 // mysql_option 枚举类型
 if (0 == mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
 {
  cout << "mysql_options succeed!" << endl;
 }
 else
 {
  cout << "mysql_option failed!" << endl;
  return -3;
 }
 //连接数据库
 if (NULL != mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0))
 {
  cout << "mysql connect succeed" << endl;
 }
 else
 {
  cout << "mysql connect failed" << endl;
  return -4;
 }
 //strsql 用于储存Sql语句
 string strsql;
 strsql = "CREATE TABLE IF NOT EXISTS `testtable2`(";
 strsql += "`runoob_id` INT UNSIGNED AUTO_INCREMENT,";
 strsql += "`runoob_title` VARCHAR(100) NOT NULL,";
 strsql += "`runoob_author` VARCHAR(40) NOT NULL,";
 strsql += "`submission_date` DATE,";
 strsql += "PRIMARY KEY(`runoob_id`)";
 strsql += ")ENGINE = InnoDB DEFAULT CHARSET = utf8; ";
 if (0 == mysql_query(&mysql, strsql.c_str()))
 {
  cout << "mysql_query succeed!" << endl;
 }
 else
 {
  cout << "mysql_query failed!" << endl;
  return -5;
 }
 //向表中插入数据
 char buf[1024];

//strsql = "INSERT INTO testtable2 (runoob_id, runoob_title,runoob_author,submission_date)VALUES(0, 'MYSQL', 'Orcale', '2017-6-9'); ";
 sprintf(buf, "INSERT INTO testtable2 (runoob_id, runoob_title,runoob_author,submission_date)VALUES(%d, 'MYSQL', 'Orcale', '2017-6-9'); ", 0);
 if (0 == mysql_query(&mysql, buf))
 {
  cout << "mysql_query succeed!" << endl;
 }
 else
 {
  cout << "mysql_query failed!" << endl;
  return -5;
 }

//查询
 string query;
 MYSQL_RES* result = NULL;
 query = "select *from testtable1 where runoob_id=1";
 if (0 == mysql_query(&mysql, query.c_str()))
 {
  cout << "mysql_query succeed!" << endl;

result=mysql_store_result(&mysql);
  //取得并打印行数
  my_ulonglong rowcount = mysql_num_rows(result);
  cout << "row count: " << rowcount << endl;
  //取得各个字段
  unsigned int fieldcount = mysql_field_count(&mysql);
  for (unsigned int i = 0; i < fieldcount; i++)
  {
   MYSQL_FIELD* field = mysql_fetch_field_direct(result, i);
   cout << field->name << i << endl;
  }
 }
 else
 {
  cout << "mysql_query failed" << endl;
  mysql_close(&mysql);
  return -6;
 }
 //清理
 mysql_free_result(result);
 mysql_close(&mysql);
 mysql_server_end();
 system("pause");
 return 0;
}

windows下C++连接mysql的更多相关文章

  1. windows下远程连接Mysql

    使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口. 使用“mysql -uroot -proot”命令可以连接到本地的mysql服务. 使用“use mysql” ...

  2. Windows下Qt连接MySql数据库

    1.设置环境变量,需添加如下的环境变量:      2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...

  3. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...

  4. windows下如何设置mysql环境变量

    方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...

  5. 本地windows下PHP连接远程oracle遇到的诸多问题

    任务目的:本地windows下PHP连接远程服务器下的oracle. 必须必须 确定服务器的数据库版本,如果本地的驱动和对方服务器版本不一致,会导致许多报错. 已知的oracle版本  分为 32位的 ...

  6. linux下启动mysql服务(类似于windows下net start mysql)

    1.linux系统启动方式:service mysql start.其类似于windows下net start mysql

  7. windows下plsql连接linux下的oracle数据库

    windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...

  8. Windows下安装配置MySQL

    Windows下安装配置MySQL的基本步骤 一.MySQL下载 MySQL官方下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads ...

  9. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

随机推荐

  1. C#生成唯一值的方法汇总

    生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: https://www.cnblogs.com/xinweichen/p/4287640 ...

  2. Scala集合常用方法解析

    Java 集合 : 数据的容器,可以在内部容纳数据  List : 有序,可重复的  Set : 无序,不可重复  Map : 无序,存储K-V键值对,key不可重复 scala 集合 : 可变集合( ...

  3. git合并分支

    源分支向向目标分支上合并.将fix分支向develop分支上合并

  4. tar 压缩归档

    压缩归档 掌握归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件. 了解归档的目的:归档的目的就是方便备份.还原及文件的传输操作. 掌握tar命令的功能:将多个文件(也可能包 ...

  5. 移动端1px边框实现

    问题描述:移动端iPhone上的1px边框看起来像2px那么粗.问题分析:不同的手机有不同的像素密度,在window对象中有一个devicePixelRatio属性,它可以反应设备的像素与css中的像 ...

  6. AGC016D - XOR Replace 置换/轮换

    目录 题目链接 题解 代码 题目链接 AGC016D - XOR Replace 题解 可以发现一次操作相当于一次置换 对于每个a上的位置映射到b对应 可以找到置换群中的 所有轮换 一个k个元素的轮换 ...

  7. Django路由机制

    Django的URL路由配置: Settings.py文件中的ROOT_URLCONF变量指定全局路由文件名称 ROOT_URLCONF = '工程名称.urls'   #默认对应工程目录下urls. ...

  8. 从构建分布式秒杀系统聊聊Lock锁使用中的坑

    前言 在单体架构的秒杀活动中,为了减轻DB层的压力,这里我们采用了Lock锁来实现秒杀用户排队抢购.然而很不幸的是尽管使用了锁,但是测试过程中仍然会超卖,执行了N多次发现依然有问题.输出一下代码吧,可 ...

  9. Go语言基础之map

    Go语言基础之map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能 ...

  10. discuz 修改亮剑积分商城2.91模板(在常用设置中添加商场首页排序方式的背景颜色)

    在应用 -> 积分商城 -> 常用设置 中添加 商场首页排序方式 的背景颜色修改功能 步骤: 1.找到并打开此页面对应的模板source\plugin\aljsc\template\set ...