C++访问mysql数据库
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数据库的更多相关文章
- java文件来演示如何访问MySQL数据库
java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...
- PHP访问MySql数据库介绍
在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
- C#访问MySQL数据库(winform+EF)
原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winf ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- html页面通过http访问mysql数据库中的内容,实现用户登录的功能
需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...
- 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作
PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...
- C#访问MySQL数据库的方法
C#访问MySQL数据库的方法 (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 下载地址为: http://dev.mysql.com/downloads/connector/ne ...
- MySQL入门很简单: 15 java访问MySQL数据库
1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...
随机推荐
- win10 切换 简体/繁体中文
- nexus 批量导入本地库
1.复制D:\maven\repository(本地仓库)到D:\sonatype-work\nexus\storage\central(nexus库路径) 2.Central --> upda ...
- sp_trace_setfilter sqlserver筛选跟踪或跟踪过滤
sp_trace_setfilter sp_trace_setfilter [ @traceid = ] trace_id , [ @columnid = ] column_id , [ @logic ...
- Swift调用OC和C
Swift文件:main.swift import Foundation //Swift调用C函数 desc1() //Swift调用OC //拿到OC类 var funcClass = Root() ...
- Android 线性布局(LinearLayout)相关官方文档 - 指南部分
Android 线性布局(LinearLayout)相关官方文档 - 指南部分 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用 ...
- jQuery使用正则判断是否含有非法字符
if(/[@#\$%\^&\*]+/gi.test($("#user_api_register_form").find("input[name='user_nam ...
- java学习之第五章编程题示例(初学篇)
/* Animal.java */ package animal; public abstract class Animal { public abstract void cry(); public ...
- HDUOJ -----1686
Oulipo Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDUOJ-------Being a Good Boy in Spring Festival
Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32 ...
- 马老师 生产环境mysql主从复制、架构优化方案
Binlog日志(主服务器) => 中继日志(从服务器 运行一遍,保持一致).从服务器是否要二进制日志取决于架构设计.如果二进制保存足够稳定,从性能上来说,从服务器不需要二进制日志.默认情况下, ...