使用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. cocos2dX 事件之触摸事件和触摸事件集合

    今天, 我们来学习cocos2dX里面的触摸事件与触摸事件合集, 如今的手机游戏交互基本上都是通过触摸交互的, 所以大家明确这节的重要性了吧, 本节篇幅比較大, 所以我就不扯闲话了 先来看看经常使用函 ...

  2. 联系人数据库设计之AbstractContactsProvider

    个人见解,欢迎交流. 联系人数据库设计,源代码下载请自行去android官网下载. package com.android.providers.contacts; import android.con ...

  3. find . -iname "*.jpg"|xargs -i mv {} .;for i in `ls`; do mv -f $i `echo $i | sed 's/JPG/jpg/'`; done

    find . -iname "*.jpg"|xargs -i mv {} .;for i in `ls`; do mv -f $i `echo $i | sed 's/JPG/jp ...

  4. easy_install MySQL-python

    python - Why can't easy_install find MySQLdb? - Stack Overflow easy_install MySQL-python

  5. Android实现位图剪切

    我们不能总是依赖于BitmapFactory 以下告诉大家怎么从Bitmaqp中截取某一部分创建新的Bitmap  系统会有一个默认png图片:icon.png 可是这个图片中最外层会有白色的 比較讨 ...

  6. U盘1G变8M解决的方法

    本人曾有一个大小为1G的纽曼U盘,在一年前不幸中毒,格式化之后就仅仅剩8M了,然后再也无法正常格式化.尽管仅仅有8M,但总认为扔了可惜,于是乎,就一直束之高阁.昨天突然心血来潮,决定再试一试,纯粹是死 ...

  7. HDU1176:免费馅饼(DP)

    Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...

  8. HBase总结(二十)HBase经常使用shell命令具体说明

    进入hbase shell console $HBASE_HOME/bin/hbase shell 假设有kerberos认证,须要事先使用对应的keytab进行一下认证(使用kinit命令),认证成 ...

  9. OCP读书笔记(1) - Oracle核心概念和工具

    ohasdoracle high available service daemon OEMweb -- Database Control资料库 -- sysman Starting Oracle Re ...

  10. Managing Data in Containers

    Managing Data in Containers So far we've been introduced to some basic Docker concepts, seen how to ...