windows下C++连接mysql
平台: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的更多相关文章
- windows下远程连接Mysql
		使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口. 使用“mysql -uroot -proot”命令可以连接到本地的mysql服务. 使用“use mysql” ... 
- Windows下Qt连接MySql数据库
		1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ... 
- windows下搭建Apache+Mysql+PHP开发环境
		原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ... 
- windows下如何设置mysql环境变量
		方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ... 
- 本地windows下PHP连接远程oracle遇到的诸多问题
		任务目的:本地windows下PHP连接远程服务器下的oracle. 必须必须 确定服务器的数据库版本,如果本地的驱动和对方服务器版本不一致,会导致许多报错. 已知的oracle版本 分为 32位的 ... 
- linux下启动mysql服务(类似于windows下net start mysql)
		1.linux系统启动方式:service mysql start.其类似于windows下net start mysql 
- windows下plsql连接linux下的oracle数据库
		windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ... 
- Windows下安装配置MySQL
		Windows下安装配置MySQL的基本步骤 一.MySQL下载 MySQL官方下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads ... 
- Windows操作系统下远程连接MySQL数据库
		用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ... 
随机推荐
- Swift GCD的使用1
			typealias Task = (cancel : Bool) -> () func delay(time : NSTimeInterval, task : () -> ()) -> ... 
- 习题集1a:研究方法入门
			1.课程实践编号 课程实践编号 随着对习题集“PS 1a:研究方法入门”和其他习题集的了解,你可能会发现进度栏中的习题编号并非一直是连续的. 对于存在两个习题集的课程,如果一个习题集看上去“缺失”习题 ... 
- 后端for循环补充
			我们的for循环里面,在外面可以调用它最后一次循环的值,pycharm尽管会飘黄色,但是系统是可以识别出来的,能够调用,而且是循环最后一次的值 
- C#订阅与发布标准实现
			大概看了下C#官方提供的IObservable接口以及IObserver接口来实现发布和订阅,写的很标准,很有代表性,做下笔记,以后要是项目需要用到发布订阅再基于自己的需求改: public clas ... 
- 原生JavaScript中动画与特效的实现原理
			现如今,许多页面上均有一些动画效果.适当的动画效果可以在一定程度上提高页面的美观度,具有提示效果的动画可以增强页面的易用性. 实现页面动画的途径一般有两种. 一种是通过操作JavaScript间接操作 ... 
- python 函数split()
			函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(lis ... 
- EL表达式与标签的使用
- day9面向对象,多线程2
			一.获取全部qq成员头像 import os,requests,pymongo class Qqgroup(object):#定义一个类 #定义获取QQ群的请求rul,抓包获取 group_rul = ... 
- 【C语言程序】输出前50个素数
			#include <stdio.h> #include <stdlib.h> int main(void) { ; ; ){ ; ;i<x;i++){ ... 
- 【树状数组】区间出现偶数次数的异或和(区间不同数的异或和)@ codeforce 703 D
			[树状数组]区间出现偶数次数的异或和(区间不同数的异或和)@ codeforce 703 D PROBLEM 题目描述 初始给定n个卡片拍成一排,其中第i个卡片上的数为x[i]. 有q个询问,每次询问 ... 
