简单的code如下:

#include <iostream>
#include <fstream>
#include <sstream>
#include <cstring>
#include <mysql/mysql.h>
using namespace std; int main()
{
const char username[] = "username";
const char password[] = "password";
const char host[] = "192.168.0.100";
const char dbname[] = "dbname"; MYSQL conn;
if(NULL == mysql_init(&conn))
{
cerr << "init conn fail." << endl;
exit(-);
} if (NULL == mysql_real_connect(&conn, host, username, password, dbname, , NULL, ))
{
cerr << "connect to database error" << endl;
exit(-);
} char sql[] = "select octet_length(picture), picture from tablename";
if ( != mysql_real_query(&conn, sql, strlen(sql)))
{
cerr << "query error." << endl;
exit(-);
} MYSQL_RES * result = NULL;
result = mysql_store_result(&conn);
if (NULL == result)
{
cerr << "store result error." << endl;
exit(-);
} if ( >= mysql_affected_rows(&conn))
{
cerr << "no data be found." << endl;
exit(-);
} int count = ;
string path = "/home/tsfh/pictures/";
MYSQL_ROW row_record;
while (row_record = mysql_fetch_row(result))
{
unsigned int size = ;
char * temp_buff = NULL; sscanf(row_record[], "%d", &size);
if( == size )
{
cerr << "invalid record!" << endl;
continue;
} temp_buff = (char *)malloc(size * sizeof(char) + );
if(NULL == temp_buff)
{
cerr << "malloc error!" <<endl;
exit();
}
memset(temp_buff, , size * sizeof(char) + );
memcpy(temp_buff, row_record[], size * sizeof(char)); stringstream pic_name;
pic_name << count << ".jpg";
ofstream outfile(path + pic_name.str(), ios::binary);
outfile.write(temp_buff, size); count++;
free(temp_buff);
} mysql_close(&conn);
return ;
}

c/c++ 获取mysql数据库以blob类型储存的图片的更多相关文章

  1. MySQL数据库传输BLOB类型数据丢失 解决办法

    修改MySQL安装目录下my.ini文件配置:

  2. Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题

    Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...

  3. java的Date类型转换为MySQL数据库的Date类型

    最近遇到一个问题,需要把java中的日期类型存放为MySQL数据库的日期类型,两个日期之间需要进行转化才能进行存储,转化代码如下: package com.alphajuns.demo1; impor ...

  4. java获取mysql数据库表、字段、字段类型、字段注释

    最近想要写一个根据数据库表结构生成实体.mapper接口.mapping映射文件.service类的简单代码生成工具,所以查阅了一些资料,怎样获取数据库的表.表中字段.字段类型.字段注释等信息. 最后 ...

  5. MySQL数据库中tinyint类型字段读取数据为true和false

    今天遇到这么一个问题,公司最近在做一个活动,然后数据库需要建表,其中有个字段是关于奖励发放的状态的字段,结果读取出来的值为true 一.解决读取数据为true/false的问题 场景: 字段:stat ...

  6. python 获取mysql数据库列表以及用户权限

    一.需求分析 需要统计出当前数据库的所有数据库名,以及每个用户的授权信息. 获取所有数据库 在mysql里面,使用命令: show databases 就可以获取所有数据库了 获取所有用户 执行命令: ...

  7. PHP快速获取MySQL数据库表结构

    直接举例某个数据库中只有两个数据表,一个 test ,一个 xfp_keywords ,获取他们的数据库表结构. 此功能可以用于开发人员快速获取数据表结构通过获取的数据生成各种文件形式,用来快速理解数 ...

  8. MySQL数据库中tinyint类型字段读取数据为true和false (MySQL的boolean和tinyint(1))

    数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true. MySQL保存boolean值时用1代表TRUE,0代表FALSE.boolean在 ...

  9. MySQL数据库中字段类型为tinyint,读取出来为true/false的问题

    由于MySQL中没有boolean类型,所以会用到tinyint类型来表示. 数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true.

随机推荐

  1. c++中的重载、覆盖和隐藏

    1 重载发生在同一个类内部. 同一个类内部,具有相同的函数名,但是参数列表不同,那么就是重载.因为c++编译器编译时,将函数名和函数列表一起对函数进行了重命名. 2 覆盖和隐藏发生在子类和父类之间. ...

  2. 在非OnPaint里应该使用ClientDC来画图

    import wx class Example(wx.Frame): def __init__(self, parent, title): super(Example, self).__init__( ...

  3. Android学习之——优化篇(2)

    一.高级优化     上篇主要从0基础优化的方式,本篇主要将从程序执行性能的角度出发,分析各种经常使用方案的不足.并给出对象池技术.基础数据类型替换法.屏蔽函数计算三种能够节省资源开销和处理器时间的优 ...

  4. 4.2 《锋利的jQuery》jQuery中的动画

    问题:queue()方法? tip0: jquery从1.9版本以上就不支持toggle()方法. // $("#panel h5.head").toggle(function() ...

  5. P3209 [HNOI2010]平面图判定

    P3209 [HNOI2010]平面图判定 哈密尔顿环之外的任意一条边,要么连在环内部,要么连在环外部 判断两条边在同一部分会相交,则这两条边必须分开 那么把边看作点连边,跑二分图染色就行 #incl ...

  6. i=i+2 与i+=2

    i=i+2 比 i+=2多了一次对变量 i 的运算.后者效率高

  7. R语言快捷键

    一.控制台 功能  Windows & Linux   Mac 移动鼠标到控制台 Ctrl+2 Ctrl+2 移动到鼠标命令编辑 Ctrl+1 Ctrl+1 控制台清屏 Ctrl+L Comm ...

  8. (4)获取servlet常用api

    *五)与ServletAPI解耦 方式1 AddAction public String execute() throws Exception, IOException{ //获取请求对象reques ...

  9. PYTHON 爬虫笔记七:Selenium库基础用法

    知识点一:Selenium库详解及其基本使用 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium ...

  10. [Shell]grep命令

    我是好文章的搬运工,原文来自ChinaUnix,博主scq2099yt,地址:http://blog.chinaunix.net/uid-22312037-id-4217835.html 一.基本用法 ...