C++用mysql自带的头文件连接数据库
更新时间:2020年4月25日 17:34 点击:2210
mysql.h文件在哪,怎么查找。自行百度
#include <mysql/mysql.h> #include <stdio.h> #include<iostream> #include<fstream> #include<string.h> using namespace std; MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; class people { public: char name[20]; int pid; int type; char phone[30]; public: people(int a){}; people(){ setall(); }; ~people(){}; public: void setall(); }; void people::setall() { cout<<"请输入该用户的编号"<<endl; cin>>pid; cout<<"请输入该用户的名字"<<endl; // gets(name); cin>>name; cout<<"请输入该用户的类型"<<endl; cin>>type; cout<<"请输入该用户的联系方式"<<endl; cin>>phone; } void save() { char sql[1000]; people a; sprintf(sql,"insert into student values(%d,'%s',%d,'%s')",a.pid,a.name,a.type,a.phone); if(mysql_query(conn, sql)) { printf("添加失败: (%s)\n",mysql_error(conn)); return; } else { printf("添加成功!\n"); return; } return; } void update(){ char sql[1000]; people a(1); cout<<"请输入你要更改的用户的编号:"; cin >> a.pid; cout<<"请输入你要此编号用户的姓名:"; cin >> a.name; cout <<"请输入你要更改的用户的类型:"; cin >> a.type; cout << "请输入你要更改的用户的电话:"; cin >> a.phone; sprintf(sql,"update student set name = '%s',usetype=%d,phone='%s' where pid = %d",a.name,a.type,a.phone,a.pid); if(mysql_query(conn, sql)) { printf("更改失败: (%s)\n",mysql_error(conn)); return; } else { printf("更改成功!\n"); return; } return; } void del() { char sql[1000]; int pid; cout<<"请输入你要删除的人的编号"<<endl; cin>>pid; sprintf(sql,"delete from student where pid = %d",pid); if(mysql_query(conn, sql)) { printf("删除 失败(%s)\n",mysql_error(conn)); return; } else { printf("删除成功!\n"); return; } return; } void menu() { cout<<"1.用户录入"<<endl; cout<<"2.显示"<<endl; cout<<"3.更改"<<endl; cout<<"4.删除"<<endl; cout<<"5.退出"<<endl; } void show() { if (mysql_query(conn, "select * from student")) { fprintf(stderr, "%s\n", mysql_error(conn)); return; } res = mysql_use_result(conn); printf("编号\t名字\t类型\t联系方式\n"); while ((row = mysql_fetch_row(res)) != NULL){ cout<<row[0]<<"\t"<<row[1]<<"\t"<<row[2]<<"\t"<<row[3]<<endl; } mysql_free_result(res); } int main() { int s; conn = mysql_init(NULL); if (!mysql_real_connect(conn, "localhost", "root", "root", "abc", 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); return -1; } mysql_query(conn,"set names utf8"); while(true){ menu(); cin>>s; if(s==2){show();} if(s==1){save();} if(s==3){update();} if(s==4){del();} if(s==5){mysql_close(conn);return 0;} cout<<"按任意键继续.."<<endl; getchar(); } return 0; }
上一篇: C语言数据类型转换实例代码
下一篇: C语言运算符的优先级和结合性实例详解
相关文章
- vector是表示可以改变大小的数组的序列容器,本文主要介绍了C++STL标准库std::vector的使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2022-03-06
- 这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
- 这篇文章主要介绍了C++中取余运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
- 这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作,下面就实际体验一下...2016-08-23
- 本篇文章主要介绍了C++中四种加密算法之AES源代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...2020-04-25
- 整数拆分,指把一个整数分解成若干个整数的和。本文重点给大家介绍C++ 整数拆分方法详解,非常不错,感兴趣的朋友一起学习吧...2020-04-25
深入研究mysql中的varchar和limit(容易被忽略的知识)
为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题。 ...2015-03-15- 这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
- 这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
- 这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
- 一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1...2014-05-31
- 我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
- 这篇文章主要介绍了C++ bitset用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 本篇文章小编并不是为大家讲解string类型的用法,而是讲解我个人比较好奇的问题,就是string 类型占几个字节...2020-04-25
- 这几天在centos下装mysql,这里记录一下安装的过程,方便以后查阅Mysql5.5.37安装需要cmake,5.6版本开始都需要cmake来编译,5.5以后的版本应该也要装这个。安装cmake复制代码 代码如下: [root@local ~]# wget http://www.cm...2015-03-15
- 宿主机使用网线的时候,客户机在Bridged Adapter模式下,使用Atheros AR8131 PCI-E Gigabit Ethernet Controller上网没问题。 宿主机使用无线的时候,客户机在Bridged Adapter模式下,使用可选项里唯一一个WIFI选项,Microsoft Virtual Wifi Miniport Adapter也无法上网,故弃之。...2013-09-19
- 这篇文章主要为大家详细介绍了C++ Eigen库计算矩阵特征值及特征向量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
- 首先要声明一点,大部分情况下,修改MySQL密码是需要有mysql里的root权限的...2013-09-11