首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++ Mysql在数据库中保存二进制blob

问c++ Mysql在数据库中保存二进制blob
EN

Stack Overflow用户
提问于 2013-05-18 04:27:05
回答 1查看 1.2K关注 0票数 0

所以我在64位的ubuntu机上使用g++和Mysql c++连接器。我想将二进制数据blob插入到数据库中,并能够检索它。检索

代码语言:javascript
复制
typedef unsigned char byte;

byte data[512];
istream *buf=res->getBlob(1);
buf->read((char*)data,512);

我只希望这能起作用,但我不太确定。这是一个ResultSet。

为了存储在数据库中,我不知道如何将byte*转换为istream。

感谢您的阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-18 04:45:52

答案在于使用流缓冲区在数据库中写入blob

代码语言:javascript
复制
struct membuf: std::streambuf
{
    membuf(char* b, char* e) { this->setg(b, b, e); }
};

byte *p = something....;
membuf buf((char*)p,(char*)p+ALPHABET_SIZE*sizeof(ull));
istream is(&buf);

ps->setBlob(1,&is);

这里的ps是一个PreparedStatement..:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16617340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档