int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
此函式用於將資料從已開啟的 BLOB 控制代碼 讀取到呼叫者提供的緩衝區中。從已開啟的 BLOB 中,從偏移量 iOffset 開始,將 N 個位元組的資料複製到緩衝區 Z。
如果偏移量 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() 建立且尚未透過 sqlite3_blob_close() 關閉的 BLOB 控制代碼。將任何其他指標傳遞到此例程會導致未定義且可能不理想的行為。
另請參閱:sqlite3_blob_write()。