linux C++ 读取mysql结果保存
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结果保存的更多相关文章
- Spark使用Java读取mysql数据和保存数据到mysql
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...
- Linux下PHP+MySQL+CoreSeek中文检索引擎配置
说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装co ...
- Linux下的Mysql的主从备份
MySQL复制概述 MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循 ...
- Linux下查看mysql、apache是否安装,安装,卸载等操作
Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root ? :: /bin/sh /usr/ ...
- 【linux操作命令】mysql
1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...
- 基于linux c的mysql操作——幼儿园数据管理系统
上周对于mysql进行了简单的学习,利用c对mysql进行操作,主要用到了以下几个函数: mysql_init(); mysql_real_connect(数据库变量指针,网络地址,用户名,登录密码, ...
- Linux下查看MySQL的安装路径
Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root ? :: /bin/sh /usr/ ...
- Linux JDK+TOMCAT+MYSQL+redis 安装日志
检查是否安装iptables #先检查是否安装了iptablesservice iptables status#安装iptablesyum install -y iptables#升级iptables ...
- windows下数据库文件使用脚本同步到linux下的mysql数据库中
1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...
随机推荐
- linux 统计文件夹下文件,文件夹,所有个数
统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...
- rm -f 后如何恢复
前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,呵呵. 那么如果真的删除了不该删除的文件,比如数据库. ...
- Mac解决:xcode-select: error: command line tools are already installed, use "Software Update" to install updates
1.因为node项目终端报错: No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'. No receipt for 'com ...
- 如何用Java8 Stream API找到心仪的女朋友
传统的的Java 集合操作是有些啰嗦的,当我们需要对结合元素进行过滤,排序等操作的时候,通常需要写好几行代码以及定义临时变量. 而Java8 Stream API 可以极大简化这一操作,代码行数少,且 ...
- C# 数据类型详解以及变量、对象与内存
学习刘铁猛老师<C#语言入门详解>视频,针对其中重点知识点进行总结. 1.什么是类型? 类型又称为数据类型(Data Type),数据类型在数据结构中的定义是一个值的集合以及定义在这个值集 ...
- 10.Android-SharedPreferences使用
1.SharedPreferences介绍 SharedPreferences,它是一个轻量级的配置文件类,用于保存软件配置参数. 采用xml文件形式存储在/data/data/包名/shared_p ...
- Maven jar包冲突
在pom.xml中引入一个依赖,maven会自动导入这个依赖的依赖,方便的同时也会造成jar包冲突: (1)A.B都依赖C,我们导入A(自动导入C).B(自动导入C),maven自动导入了2个C,到底 ...
- Vue整合d3.v5.js制作--折线图(line)
先上效果图(x轴固定为时间轴): 图中出现的悬浮框是鼠标悬停效果 1.环境说明: vue版本:"vue": "^2.5.2" d3版本:"d3&quo ...
- Leetcode 与树(TreeNode )相关的题解测试工具函数总结
最近在剑指Offer上刷了一些题目,发现涉及到数据结构类的题目,如果想在本地IDE进行测试,除了完成题目要求的算法外,还需要写一些辅助函数,比如树的创建,遍历等,由于这些函数平时用到的地方比较多,并且 ...
- 【55】目标检测之IOU交并比
交并比(Intersection over union) 你如何判断对象检测算法运作良好呢?在本笔记中,你将了解到并交比函数,可以用来评价对象检测算法.在下一个笔记中,我们用它来插入一个分量来进一步改 ...