如何获取结果集中BLOB字段中的数据大小?(使用C++和MySQL连接器C++)MySQL,C++:需要Blob大小来读取blob数据
为了从结果集中读取数据,我先为它分配内存。为了分配内存,我需要知道结果集中blob数据的大小。
搜索网页和StackOverflow,我发现了两种方法:OCTECT
和BLOB流。
查找BLOB大小的一种方法是使用OCTECT()
函数,该函数需要一个新的查询并生成一个新的结果集。我宁愿不使用这种方法。
另一种方法是使用blob流并查找到底,并获取文件位置。但是,我不知道该流是否可以重新开始以便读取数据。此方法需要额外读取整个流。
的MySQL连接C++ 1.0.5的ResultSet
和ResultSetMetaData
接口不用于在字段(列)获取的数据的尺寸的方法。
是否有只获得结果集和字段名称的BLOB字段中获取数据大小的过程?我正在使用MySQL连接器C++ 1.0.5,C++,Visual Studio 2008,Windows Vista/XP和“服务器版本:5.1.41-社区MySQL社区服务器(GPL)”。
LENGTH()字段的结果集中的字段名称是什么? –
应该可以通过索引访问结果(这里是1)。 在java中,我会调用'rs.setInt(1)'。 – elou
length()的字段名称写为:'length(content)'。为了得到一个明智的名字,你必须做'contentLength'或类似的'length(content)'。 –