今天工作需要,读取了一下数据库中的blob数据,用的是sqlite3_column_blob(),首先说一下什么是blob:二进制大对象,是一个可以存储二进制文件的容器。一些大文件,如图片视频音频等,在数据库中就是用blob存储的。 当我们取一个数据库中的数据时,如下图: 这个数据库中保存data数据就是blob,其中的数据时图片,如下图...
SQLite3利用函数sqlite3_column_blob来返回blob字段的内容的指针,并通过sqlite3_column_bytes来返回对应该字段的长度。 只是一直有一个疑问就是通过sqlite3_column_blob返回的二进制blob内容的内存是谁来释放,是由SQLite内部还是用调用者来释放。 后来仔细观察了内存变化发现,sqlite3_column_blob函数会预先分配一块内存,...
在SQLite 中,sqlite3_column_blob()是一个用于获取指定列的二进制数据的函数。它有两个参数: 第一个参数是一个sqlite3_stmt*类型的指针,表示 SQL 语句编译后的声明。 第二个参数是一个整数索引值,表示要获取数据的列索引(从0开始)。 例如,以下示例代码展示了如何使用sqlite3_column_blob()函数来获取第一列(...