当前位置: 首页 > news >正文

悬浮网站底部代码腾讯云网站建设教程

悬浮网站底部代码,腾讯云网站建设教程,2024年重大新闻简短,签合网站是哪个C/C连接数据库 本篇文章意在简洁明了的在linux环境下使用C/C连接远程数据库#xff0c;并对数据库进行增删查改等操作。我所使用的环境是centos7#xff0c;不要环境除环境配置外#xff0c;代码是大同小异的。完整代码在最底部#xff01;#xff01;#xff01; 1.前…C/C连接数据库 本篇文章意在简洁明了的在linux环境下使用C/C连接远程数据库并对数据库进行增删查改等操作。我所使用的环境是centos7不要环境除环境配置外代码是大同小异的。完整代码在最底部 1.前提准备 在讲解如何使用代码连接数据库前我们先来了解一下相关环境的问题。有些同学在写完代码后会发现编译报如下错误。 我相信大家已经能看出问题所在了那就是相关的lib库和include头文件在编译的时候链接不到。所以大家一定先配置好该链接属性后在进行代码的编译运行 可通过mysql_get_client_info()方法验证lib和include引入是否成功如下代码所示。 #include stdio.h #include mysql.h int main() {printf(mysql client Version: %s\n, mysql_get_client_info());return 0; }2.必须先对数据库初始化 //创建数据句柄。 MYSQL *my mysql_init(nullptr);3.链接数据库 const std::string host127.0.0.1; const std::string usersja; const std::string password *****; const std::string db books; const unsigned int port 8888; mysql_real_connect(my,//上面创建的数据库句柄MYSQL指针 host.c_str(),//目标数据库主机 user.c_str(),//目标数据库用户名 password.c_str(),//目标数据库用户密码 db.c_str(),//指定连接哪一个库 port, //目标数据库的端口号 //下面两个参数默认如下即可 nullptr, 0);4.设置编码格式 连接的数据库默认是阿拉伯语会有编码混乱问题为了统一字符的编码我们要自行设置数据库的编码格式。 mysql_set_character_set(my, utf8);5.访问数据库 5.1 对数据库增删改的访问 这一部分对数据库的访问相比查询来说不涉及数据的返回问题所以这部分的操作也是最为简单容易的。话不多说直接上代码。 //这个三个是最简单的只要sql执行完毕就完了std::string sql1 insert into test values (4, \黎明\);std::string sql2 delete from test where id3;std::string sql3 update test set name\彬彬\ where id2;int code 0;mysql_query(my, sql1.c_str());mysql_query(my, sql2.c_str());mysql_query(my, sql3.c_str());//对于返回值code成功为0。5.2 对数据库查找的访问 select 其实是最不好处理的select sql执行完只是第一步还需要对数据进一步解析解析的过程是需要进行处理的直接上代码。 // 1.解析数据 -- 获取行号和列号MYSQL_RES *result mysql_store_result(my);int rows mysql_num_rows(result);int cols mysql_num_fields(result);std::cout 行数: rows , 列数: cols std::endl;//2.解析数据 -- 获取表中列名 -- 实际开发一般不用仅仅是为了测试代码的完整性MYSQL_FIELD *fields mysql_fetch_fields(result);for(int i 0; i cols; i){std::cout fields[i].name \t;}std::cout std::endl;//3. 解析数据 -- 获取表中的数据 -- 重要for(int i 0; i rows; i){MYSQL_ROW line mysql_fetch_row(result); //获取完整的一行记录[可能包含了多列]for(int j 0; j cols; j){std::cout line[j] \t; //将记录内部的多列字符串依次打印}std::cout std::endl;}6.关闭数据库 其中上面的mysql_store_result函数会调用MYSQL变量中的st_mysql_methods中的 read_rows 函数指针来获取查询的结果。同时该函数会返回MYSQL_RES 这样一个变量该变量主要用于保存查询的结果。同时该函数malloc了一片内存空间来存储查询过来的数据所以我们一定要记的 free(result),不然是肯定会造成内存泄漏的。 一定注意这里的内存泄露问题在关闭数据库前释放result // 关闭数据库free(result);mysql_close(my);7.完整代码 #include iostream #include string #include cstdio #include mysql/mysql.hconst std::string host127.0.0.1; const std::string userusername; const std::string password 888888888; const std::string db user_databases; const unsigned int port 8888;int main() {//0. 创建mysql句柄MYSQL *my mysql_init(nullptr);//1. 链接数据库if(mysql_real_connect(my,host.c_str(),user.c_str(), password.c_str(),db.c_str(),port, nullptr, 0) nullptr){std::cout connect failed std::endl;return 1;}//1.1: 需要设置链接的编码格式mysql_set_character_set(my, utf8);std::cout connect success std::endl;//2. 访问 数据库.test id, name//这个三个是最简单的只要sql执行完毕就完了// std::string sql insert into test values (4, \黎明\);// std::string sql delete from test where id3;// std::string sql update test set name\彬彬\ where id2;//2.1 select 其实是最不好处理的select sql执行完只是第一步还需要对数据进一步解析std::string sql select name from test where id 4;int code mysql_query(my, sql.c_str());if(code ! 0){std::cout execute: sql failed std::endl;return 2;}std::cout execute: sql success std::endl;//2.2 解析数据 -- 获取行号和列号MYSQL_RES *result mysql_store_result(my);int rows mysql_num_rows(result);int cols mysql_num_fields(result);std::cout 行数: rows , 列数: cols std::endl;//2.3 解析数据 -- 获取表中列名 -- 一般不用仅仅是为了测试代码的完整性MYSQL_FIELD *fields mysql_fetch_fields(result);for(int i 0; i cols; i){std::cout fields[i].name \t;}std::cout std::endl;//2.4 解析数据 -- 获取表中的数据 -- 重要for(int i 0; i rows; i){MYSQL_ROW line mysql_fetch_row(result); //获取完整的一行记录[可能包含了多列]for(int j 0; j cols; j){std::cout line[j] \t; //将记录内部的多列字符串依次打印}std::cout std::endl;}//3. 关闭数据库free(result);mysql_close(my);return 0; }
http://www.w-s-a.com/news/261585/

相关文章:

  • 如何取消网站备案佛山网站优化公司
  • 网站开发 成都广水网站设计
  • 音乐网站建设目标合同管理系统
  • jq网站特效插件如何知道网站是否被k
  • 自己的网站怎么接广告网站搭建收费
  • 宁波大型网站制作建立一个网站 优帮云
  • 大连零基础网站建设教学电话有哪些比较好的做ppt好的网站
  • 哪个网站做logo设计我的建筑网
  • php电子商务网站开发沂源手机网站建设公司
  • html和php做网站哪个好3gcms企业手机网站整站源码asp
  • 网站建设网页设计案例云南建设厅网站删除
  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案
  • 网站建设商家淘宝客自建网站做还是用微信qq做
  • django做网站效率高吗涉县移动网站建设报价
  • 做外贸网站注册什么邮箱能够做渗透的网站
  • 购物网站 怎么做织梦网站会员功能
  • 北京市网站开发公司郑州联通网站备案