博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++访问mysql数据库
阅读量:7207 次
发布时间:2019-06-29

本文共 2085 字,大约阅读时间需要 6 分钟。

C++连接mysql数据库,并取数据进行显示

本例中,在mysql中已经存在了一个数据库test,并在test数据库中创建了一张表stu做测试,表中包含3个字段

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

代码如下:

1 /*  2 ** C语言连接mysql  3 */  4 #include 
5 #include
6 #include
7 #include
8 using namespace std; 9 10 #pragma comment(lib, "libmysql.lib") 11 // 定义全局变量 12 MYSQL mysql; 13 14 struct RecvStruct 15 { 16 char stuID[50]; 17 char stuName[50]; 18 char stuAge[50]; 19 }; 20 21 // 建立连接 22 BOOL ConnDB(const char *host, const char *user, const char *passwd, const char *dbName) 23 { 24 // 初始化MYSQL结构 25 mysql_init(&mysql); 26 // 连接数据库 27 if(mysql_real_connect(&mysql, host, user, passwd, dbName, 0, NULL, 0) != NULL) 28 { 29 // 成功建立连接 30 return TRUE; 31 } 32 else 33 { 34 // 建立连接失败 35 return FALSE; 36 } 37 } 38 // 取出数据 39 list
GetAllRecv() 40 { 41 // 用于保存结果 42 std::list
recList; 43 // 查询语句 44 std::string strsql = "select * from stu"; 45 // 执行查询 46 if(mysql_real_query(&mysql, strsql.data(), strsql.length()) == 0) 47 { 48 // 取得查询结果 49 MYSQL_RES *pRes = NULL; 50 pRes = mysql_store_result(&mysql); 51 if(pRes != NULL) 52 { 53 // 取得结果 54 MYSQL_ROW row; 55 while(row = mysql_fetch_row(pRes)) 56 { 57 // 保存信息 58 RecvStruct rs; 59 if(row[0] != NULL) 60 { 61 strcpy(rs.stuName, row[0]); 62 } 63 if(row[1] != NULL) 64 { 65 strcpy(rs.stuID, row[1]); 66 } 67 if(row[2] != NULL) 68 { 69 strcpy(rs.stuAge, row[2]); 70 } 71 // 加入list 72 recList.push_back(rs); 73 } 74 } 75 } 76 return recList; 77 } 78 // 关闭数据库 79 void MysqlClose() 80 { 81 // 关闭数据库,释放资源 82 } 83 84 int main() 85 { 86 // 连接数据库 87 if(ConnDB("127.0.0.1", "root", "123456", "test")) 88 { 89 // 成功 90 std::list
recvList = GetAllRecv(); 91 // 显示记录 92 for(list
::iterator it = recvList.begin();it != recvList.end();it++) 93 { 94 cout << it->stuName << "\t" << it->stuID << "\t" << it->stuAge << endl; 95 } 96 97 MysqlClose(); 98 } 99 int i;100 cin >> i;101 return 0;102 }
View Code

 

转载地址:http://vklum.baihongyu.com/

你可能感兴趣的文章
正确地黑C
查看>>
一个程序员的自白(三十而立)
查看>>
生产者、消费者、队列
查看>>
关于java中的==,equal,new,= 的一些相关知识(有点乱)
查看>>
一种NVMe SSD友好的数据存储系统设计
查看>>
IT168采访记录
查看>>
oracle删除一个用户
查看>>
老男孩教育学员参观机房实践活动
查看>>
《企业云桌面实施》-小技巧-08-建筑设计行业-真实效果-漫游动画-三维视图渲染...
查看>>
SUSE LINUX系统文件句柄限制的修改
查看>>
贺双节,签名版限量特惠
查看>>
警惕“***性社工”现象
查看>>
Exchange 2013与OWA13集成
查看>>
有话请直说
查看>>
虚机不能启动的特例思考
查看>>
OSPF概述
查看>>
自动化部署操作系统-Kickstart+PXE自动部署
查看>>
Eclipse europa 更新时 Error retrieving "feature.xml". [error in opening zip file]的解决
查看>>
Hyper-V损坏数据恢复报告
查看>>
《从零开始学Swift》学习笔记(Day 16)——字典集合
查看>>