C++连接mysql数据库,并取数据进行显示
本例中,在mysql中已经存在了一个数据库test,并在test数据库中创建了一张表stu做测试,表中包含3个字段

需要把mysql目录下的libmysql.lib拷贝到当前目录

代码如下:

 /*
** C语言连接mysql
*/
#include <winsock.h>
#include <mysql.h>
#include <iostream>
#include <list>
using namespace std; #pragma comment(lib, "libmysql.lib")
// 定义全局变量
MYSQL mysql; struct RecvStruct
{
char stuID[];
char stuName[];
char stuAge[];
}; // 建立连接
BOOL ConnDB(const char *host, const char *user, const char *passwd, const char *dbName)
{
// 初始化MYSQL结构
mysql_init(&mysql);
// 连接数据库
if(mysql_real_connect(&mysql, host, user, passwd, dbName, , NULL, ) != NULL)
{
// 成功建立连接
return TRUE;
}
else
{
// 建立连接失败
return FALSE;
}
}
// 取出数据
list<RecvStruct> GetAllRecv()
{
// 用于保存结果
std::list<RecvStruct> recList;
// 查询语句
std::string strsql = "select * from stu";
// 执行查询
if(mysql_real_query(&mysql, strsql.data(), strsql.length()) == )
{
// 取得查询结果
MYSQL_RES *pRes = NULL;
pRes = mysql_store_result(&mysql);
if(pRes != NULL)
{
// 取得结果
MYSQL_ROW row;
while(row = mysql_fetch_row(pRes))
{
// 保存信息
RecvStruct rs;
if(row[] != NULL)
{
strcpy(rs.stuName, row[]);
}
if(row[] != NULL)
{
strcpy(rs.stuID, row[]);
}
if(row[] != NULL)
{
strcpy(rs.stuAge, row[]);
}
// 加入list
recList.push_back(rs);
}
}
}
return recList;
}
// 关闭数据库
void MysqlClose()
{
// 关闭数据库,释放资源
} int main()
{
// 连接数据库
if(ConnDB("127.0.0.1", "root", "", "test"))
{
// 成功
std::list<RecvStruct> recvList = GetAllRecv();
// 显示记录
for(list<RecvStruct>::iterator it = recvList.begin();it != recvList.end();it++)
{
cout << it->stuName << "\t" << it->stuID << "\t" << it->stuAge << endl;
} MysqlClose();
}
int i;
cin >> i;
return ;
}

C++访问mysql数据库的更多相关文章

  1. java文件来演示如何访问MySQL数据库

    java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...

  2. PHP访问MySql数据库介绍

    在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...

  3. C#连接、访问MySQL数据库

    一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...

  4. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  5. C#访问MySQL数据库(winform+EF)

    原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winf ...

  6. Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...

  7. html页面通过http访问mysql数据库中的内容,实现用户登录的功能

    需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...

  8. 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作

    PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...

  9. C#访问MySQL数据库的方法

    C#访问MySQL数据库的方法 (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 下载地址为: http://dev.mysql.com/downloads/connector/ne ...

  10. MySQL入门很简单: 15 java访问MySQL数据库

    1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...

随机推荐

  1. heap与stack的差

    本文内容来源于<程序猿面试宝典>第三版. 在进行C/C++编程时.常常将操作的内存分下面几个类别: 栈区(stack):由编译器自己主动分配和释放,存放函数的參数值.局部变量的值等. 其操 ...

  2. C# 关闭显示器(显示)

    1.先引入DllImport所在的名称空间 using System.Runtime.InteropServices; 2.引入方法 [DllImport("user32.dll" ...

  3. 安装到LG手机出错

    [2013-07-10 07:44:31 - txrjsms] ERROR: Application requires API version 11. Device API version is 8 ...

  4. PHP实现4种排序算法

    1.冒泡排序 冒泡排序其实是基于“交换”.每次从第一个记录开始,一.二两个记录比较,大的往后放,二三两个记录比较...依次类推,这就是一趟冒泡排序.每一趟冒泡排序后,无序序列中值最大的记录冒到序列末尾 ...

  5. A brief introduction to Hashing and Rehashing

    偶然发现一篇哈希的综述文章,虽然是1996年写的,里面的一些评测在今天看来早已经小case了.但是今天仍然极具参考价值. 地址:http://www.drdobbs.com/database/hash ...

  6. hduoj---Tempter of the Bone

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  7. HDUOJ -----免费馅饼

    免费馅饼 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  8. Python实现 K_Means聚类算法

    使用 Python实现 K_Means聚类算法: 问题定义 聚类问题是数据挖掘的基本问题,它的本质是将n个数据对象划分为 k个聚类,以便使得所获得的聚类满足以下条件: 同一聚类中的数据对象相似度较高 ...

  9. ios NSURLSession使用说明及后台工作流程分析

    NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意, ...

  10. Java虚拟机学习 - JDK可视化监控工具 ( 7 )

    1.JConsole JConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定.双击其中一个jvm进程即可开始监控,也可使用“远程 ...