使用VS2008如IDE, 准备操作:

1. 项目属性  C++ 其他包括文件夹 为 mysql 安装文件夹的include

如:"C:\Program Files (x86)\MySQL\MySQL Server 5.6\include"



2. 链接器  常规  附加库文件夹  路径为 mysql 安装文件夹的lib

"C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib"



3. 链接器  输入  附加依赖项  路径为 mysql 为 libmysql.lib 所在文件夹,

如 "C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\libmysql.lib"

注:这里的文件文件夹路径由于有空格。所以一定要用 " " 包括起来!

!!



4. 将 mysql 文件夹下的 libmysql.dll 文件复制到 debug 文件夹下,这个非常重要!!。!

代码:

#include <iostream>
#include <winsock2.h>
#include <string> #include "mysql.h" #pragma comment(lib, "libmysql.lib"); using namespace std; int main()
{
MYSQL mysql;
mysql_init(&mysql); // 初始化 MYSQL *ConnStatus = mysql_real_connect(&mysql,"localhost","root","","sky",3306,0,0);
if (ConnStatus == NULL)
{
// 连接失败
int i = mysql_errno(&mysql);
string strError= mysql_error(&mysql);
cout <<"Error info: "<<strError<<endl; return 0;
} cout<<"Mysql Connected..."<<endl; string strsql;
MYSQL_RES *result=NULL; // 数据结果集 // 插入操作
strsql = "insert into t1 values(2,'lyb')"; if(0 == mysql_query(&mysql,strsql.c_str()))
{
cout<<"insert ok"<<endl;
}
else
{
cout<<"insert error"<<endl;
return 0;
} //查询
strsql = "select * from t1"; if(0 == mysql_query(&mysql,strsql.c_str()))
{
cout<<"select ok"<<endl;
result = mysql_store_result(&mysql); // 获取结果放到 result中
}
else
{
cout<<"select error"<<endl;
return 0;
} //返回记录集总数
int rowcount = mysql_num_rows(result);
cout<<"row count :"<<rowcount<<endl; //取得表的字段数组 数量
unsigned int feildcount = mysql_num_fields(result);
cout<<"feild count: " << feildcount <<endl;
cout << endl; //字段指针 遍历字段
MYSQL_FIELD *feild = NULL;
for(unsigned int i = 0; i<feildcount;i++)
{
feild = mysql_fetch_field_direct(result,i);
cout<<feild->name<<"\t";
}
cout << endl; //行指针 遍历行
MYSQL_ROW row =NULL;
while (NULL != (row = mysql_fetch_row(result)) )
{
for(int i=0; i<feildcount;i++)
{
cout<<row[i]<<"\t";
}
cout<<endl;
} cout<<endl; //释放结果集 关闭数据库
mysql_free_result(result);
mysql_close(&mysql);
mysql_library_end(); return 0;
} //官方文档參考
//http://dev.mysql.com/doc/refman/5.1/zh/apis.html

执行结果

官方文件参考  http://dev.mysql.com/doc/refman/5.1/zh/apis.html

C++ 操作 MySQL的更多相关文章

  1. ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

    操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

  2. Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy

    本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...

  3. EF操作MySql

    EF的CodeFrist操作MySql的提前准备: 1.安装两个包:MySql.Data和MySql.Data.Entity,在VS中程序包管理器中添加2个包.(备注需要的VS2015,并且EF6支持 ...

  4. .NET Core 使用Dapper 操作MySQL

    MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html .NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使 ...

  5. asp.net core 1.1 升级后,操作mysql出错的解决办法。

    遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新.插入操作没有问题. 如果你也遇到这个问题,请参照以下步骤进行升 ...

  6. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  7. Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...

  8. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  9. java分享第十七天-03(封装操作mysql类)

     JAVA操作mysql所需jar包:mysql-connector-java.jar代码: import java.sql.*; import java.util.ArrayList; import ...

  10. LightMysql:为方便操作MySQL而封装的Python类

    原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...

随机推荐

  1. 【设计模式】Singleton模式C++实现

    Singleton是设计模式中比较简单的一个.园中的朋友们应该都很熟悉了.前段时间参加xxx外企的面试,和面试官讨论C++的时候正好写了一个.当时由于在有些地方考虑不太周全,代码出现了一些疏漏.不过最 ...

  2. OpenCv调用摄像头拍照代码

    近期在研究OpenCv对摄像头的调用.现将代码贴出,供大家批评指正. 1.申明 #include"./opencv2/opencv.hpp" #ifdef _DEBUG #prag ...

  3. jquery 设置select的默认值

    <select id="sel" > <option value="s1" > aaaa </option> <opt ...

  4. 第二章排错的工具:调试器Windbg(上)

    感谢博主 http://book.51cto.com/art/200711/59731.htm <Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了排 ...

  5. Python Object Graphs — objgraph 1.7.2 documentation

    Python Object Graphs - objgraph 1.7.2 documentation Python Object Graphs¶ objgraph is a module that ...

  6. jasperreport报表生成时编译的错误

    在帮徐老板解决一个jasperreport报表生成时编译的错误: 刚开始时,加上他所给的 jar 包之后,错误显示为: net.sf.jasperreports.engine.JRException: ...

  7. ANDROID L——Material Design综合应用(Demo)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Material Design: Material Design是Google推出的一个全 ...

  8. 拆分字符串,GetHtmlByWebBrowser,UnicodeToMBCS,提升进程权限

    1. // 根据字符串,拆分字符串,相当于vb中的split函数 function SplitString(const Source, ch: string): TStringList; var te ...

  9. 分布式发布订阅消息系统Kafka

    高吞吐量的分布式发布订阅消息系统Kafka--安装及测试   一.Kafka概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览, ...

  10. ueditor编辑文章时候,复制粘贴内容,原来的图片不能显示

    ueditor编辑文章时候.当现有文章有图片的时候, 再复制粘贴文本进去的时候.里面的图片就不能显示了, 编辑器查看文章Html代码,图片路径显示为:src="http://localhos ...