int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
此函数用于将打开的 BLOB 句柄 中的数据读取到调用方提供的缓冲区中。从打开的 BLOB 中复制 N 个字节的数据到缓冲区 Z 中,从偏移量 iOffset 开始。
如果偏移量 iOffset 小于 BLOB 末尾的 N 个字节,则返回 SQLITE_ERROR 且不读取任何数据。如果 N 或 iOffset 小于零,则返回 SQLITE_ERROR 且不读取任何数据。可以使用 sqlite3_blob_bytes() 接口确定 blob 的大小(以及 N+iOffset 的最大值)。
尝试从已过期的 BLOB 句柄 读取数据将失败,并返回错误代码 SQLITE_ABORT。
成功时,sqlite3_blob_read() 返回 SQLITE_OK。否则,返回 错误代码 或 扩展错误代码。
此例程仅适用于由先前对 sqlite3_blob_open() 的成功调用创建的 BLOB 句柄,并且尚未由 sqlite3_blob_close() 关闭。将任何其他指针传递到此例程会导致未定义且可能不希望的行为。
另请参阅:sqlite3_blob_write()。