c++读取mysql数据库结果保存
#include <fstream>
#include <iomanip>
#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <sstream>
#include <mysql/mysql.h>
#include <stdlib.h> using namespace std; //数据库地址密码
string g_Server = "localhost";
string g_User = "root";
string g_Password = "";
string g_Database = "test";
//vector 输出
void printVevtorVal(vector <string> strVal)
{
vector<string>::iterator itr = strVal.begin();
for(itr;itr!=strVal.end();itr++)
{
cout << (*itr) << " ";
}
cout << endl;
} //vector二维表 输出
void printTableVal(vector <vector <string> > strVal)
{
vector <vector <string> >::iterator itr = strVal.begin();
for(itr;itr!=strVal.end();itr++)
{
vector<string>::iterator tmp = (*itr).begin();
for(tmp;tmp!=(*itr).end();tmp++)
{
cout << setw() << left << (*tmp);
}
cout << endl;
} } //查询数据库结果只有一个值
string getStrValSql(string strSql)
{
string strvals = "";
MYSQL *conn;
MYSQL_RES *res;
conn = mysql_init(NULL); if (!mysql_real_connect(conn, g_Server.c_str(),g_User.c_str(), g_Password.c_str(), g_Database.c_str(),, NULL, ))
{
return "";
}
mysql_query(conn, strSql.c_str()); //执行sql语句
res = mysql_store_result(conn); //将查询结果装进MYSQL_RES
if(!res) //sql执行结果判断
{
return "";
}
int rows = mysql_num_rows(res); //获取结果行数
while(rows--)
{
MYSQL_ROW row = mysql_fetch_row(res); //从结果集中获取一行
strvals = (row[] == NULL ? "":row[]);
}
mysql_free_result(res); //查询完后记得要释放
mysql_close(conn); return strvals;
}
//数据库查询只有一行或者一列,返回vector
void getVecValSql(string strSql, vector<string> &vecVals)
{
MYSQL *conn;
MYSQL_RES *res;
conn = mysql_init(NULL); if (!mysql_real_connect(conn, g_Server.c_str(),g_User.c_str(), g_Password.c_str(), g_Database.c_str(),, NULL, ))
{
return ;
}
mysql_query(conn, strSql.c_str());
res = mysql_store_result(conn);
if(!res)
{
return ;
}
int rows = mysql_num_rows(res); if( rows == )
{
int cols = mysql_num_fields(res);
int intTmp = ;
MYSQL_ROW row = mysql_fetch_row(res);
while(intTmp < cols)
{
vecVals.push_back(row[intTmp] == NULL ? "":row[intTmp]);
intTmp++;
}
}
else
{
while(rows--)
{
MYSQL_ROW row = mysql_fetch_row(res);
vecVals.push_back(row[] == NULL ? "":row[]);
}
}
mysql_free_result(res);
mysql_close(conn);
} //数据库查询返回二维表
void getTableValSql(string strSql,vector <vector <string> > &vecVals)
{
MYSQL *conn;
MYSQL_RES *res;
conn = mysql_init(NULL); if (!mysql_real_connect(conn, g_Server.c_str(),g_User.c_str(), g_Password.c_str(), g_Database.c_str(),, NULL, ))
{
return ;
}
mysql_query(conn, strSql.c_str());
res = mysql_store_result(conn);
if(!res)
{
return ;
}
int rows = mysql_num_rows(res);
int cols = mysql_num_fields(res);
while(rows--)
{
int intTmp = ;
vector <string> tmp; MYSQL_ROW row = mysql_fetch_row(res);
while(intTmp < cols)
{
tmp.push_back(row[intTmp] == NULL ? "":row[intTmp]);
intTmp++;
}
vecVals.push_back(tmp);
} mysql_free_result(res);
mysql_close(conn);
}

linux C++ 读取mysql结果保存的更多相关文章

  1. Spark使用Java读取mysql数据和保存数据到mysql

    原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...

  2. Linux下PHP+MySQL+CoreSeek中文检索引擎配置

    说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装co ...

  3. Linux下的Mysql的主从备份

    MySQL复制概述 MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循 ...

  4. Linux下查看mysql、apache是否安装,安装,卸载等操作

    Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root               ?        :: /bin/sh /usr/ ...

  5. 【linux操作命令】mysql

    1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...

  6. 基于linux c的mysql操作——幼儿园数据管理系统

    上周对于mysql进行了简单的学习,利用c对mysql进行操作,主要用到了以下几个函数: mysql_init(); mysql_real_connect(数据库变量指针,网络地址,用户名,登录密码, ...

  7. Linux下查看MySQL的安装路径

    Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root               ?        :: /bin/sh /usr/ ...

  8. Linux JDK+TOMCAT+MYSQL+redis 安装日志

    检查是否安装iptables #先检查是否安装了iptablesservice iptables status#安装iptablesyum install -y iptables#升级iptables ...

  9. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

随机推荐

  1. vue学习(三)完善模板页(bootstrap+AdminLTE)

    1.配置index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  2. crul 命令访问公网 dns解析错误 程序报错

    今天机房几台服务器都无法访问公网接口,原因是——解析公网域名出错,具体情况如下 ping  公网ip或者域名  都没有问题 curl 公网域名 出错 curl -4  访问公网域名没有问题 综合分析 ...

  3. 来去学习之---KMP算法--next计算过程

    一.概述 KMP算法是一种字符串匹配算法,比如现有字符串 T:ABCDABCDABCDCABCDABCDE, P:ABCDABCDE P字符串对应的next值:[0,0,0,0,1,2,3,4,0] ...

  4. java架构之路-(dubbo专题)dubbo的基本使用

    今天我们来说一下dubbo的基本使用,没有什么高阶的知识,真的超级简单易懂. Dubbo核心功能解释 dubbo 阿里开源的一个SOA服务治理框架,从目前来看把它称作是一个RPC远程调用框架更为贴切. ...

  5. CSS权威指南(第三版)

    CSS权威指南(第三版).pdf 网盘: https://545c.com/file/24657411-425141851   获取码:  276922

  6. mysql中EXPLAIN 的作用

    (一)id列: (1).id 相同执行顺序由上到下 mysql> explain -> SELECT*FROM tb_order tb1 -> LEFT JOIN tb_produc ...

  7. 使用Gradle推送SpringBoot项目源码到私有仓库

    应用场景: 在SpringCloud微服务项目中,通常会划分成多个业务服务,而这些服务之间一般会使用Feign组件进行相互调用,所以在项目开发中会衍生出一个问题:Feign客户端代码该由服务调用方的开 ...

  8. 初识Idea,部署Maven项目常见问题解决方案

    一.idea 中项目右键没有run命令选项,没有maven的clean与install选项 解决方案:安装Maven Helper插件 二.Idea不识别java文件(类文件显示橙色) 解决方案: 第 ...

  9. linux中 nodejs 安装 sqlite3 出现的问题

    错误代码类似:Error: Cannot find module '/root/QuickNote/node_modules/sqlite3/lib/binding/node-v57-linux-x6 ...

  10. Elasticsearch分布式架构

    Reference 1. http://solutionhacker.com/elasticsearch-architecture-overview/ 2. https://github.com/ba ...