【发布时间】:2010-02-25 23:18:29
【问题描述】:
如何获取结果集中 BLOB 字段中的数据大小? (使用 C++ 和 MySQL 连接器 C++)
为了从结果集中读取数据,我先为其分配了内存。为了分配内存,我需要知道结果集中 blob 数据的大小。
在网上和 StackOverflow 上搜索,我找到了两种方法:OCTECT 和 BLOB 流。
查找 BLOB 大小的一种方法是使用OCTECT() 函数,它需要一个新的查询并产生一个新的结果集。我宁愿不使用这种方法。
另一种方法是使用blob流并寻找到最后,并获取文件位置。但是,我不知道是否可以将流倒回到开头以读取数据。此方法需要额外读取整个流。
MySQL Connector C++ 1.0.5 的ResultSet 和ResultSetMetaData 接口没有提供获取字段(列)中数据大小的方法。
有没有只给定结果集和字段名就可以获取 BLOB 字段中数据大小的过程?
我正在使用 MySQL Connector C++ 1.0.5、C++、Visual Studio 2008、Windows Vista / XP 和“服务器版本:5.1.41-community MySQL Community Server (GPL)”。
【问题讨论】:
标签: c++ mysql visual-studio-2008 blob