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. 解决 windows10 system service exception蓝屏

    解决方法: WINDOWS/system32/config/RegBack/SYSTEM/* 复制到 WINDOWS/system32/config/*下

  2. 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4

    Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://uk.maven.o ...

  3. Redis批量查询删除KEYS

    对腾讯云的Redis集群不支持很多指令(config get * .flushdb.flushall.等相关指令) redis指令限制:https://www.qcloud.com/document/ ...

  4. redhat利用yum快速搭建LAMP环境

    LAMP LAMP环境,对于PHP开发及其开源的PHP项目的部署都很关键的. LAMP的含义: L   ---Linux A  ---Apache   web M ---Mysql     datab ...

  5. springboot + mybatis +easyUI整合案例

    概述 springboot推荐使用的是JPA,但是因为JPA比较复杂,如果业务场景复杂,例如企业应用中的统计等需求,使用JPA不如mybatis理想,原始sql调优会比较简单方便,所以我们的项目中还是 ...

  6. JavaScript函数的多种定义方法

    缘起 javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对 javascript语言特性更进一步的深入理解, ...

  7. 房产地图google map的初步应用点滴.3)(转)

    房产地图google map的初步应用点滴.1)房产地图google map的初步应用点滴.2)房产地图google map的初步应用点滴.3) 房产地图google map的初步应用点滴.4) go ...

  8. 重写lucene.net的分词器支持3.0.3.0版本

    lucene.net中每个分词器都是一个类,同时有一个辅助类,这个辅助类完成分词的大部分逻辑.分词类以Analyzer结尾,辅助类通常以Tokenizer结尾.分类词全部继承自Analyzer类,辅助 ...

  9. PLSQL_统计信息系列06_统计信息的历史和日志

    20150506 Created By BaoXinjian

  10. 消息队列实现回射客户/服务器和 msgsnd、msgrcv 函数

    一.msgsnd 和 msgrcv 函数 #include <sys/types.h>   #include <sys/ipc.h>   #include <sys/ms ...