int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
Эта функция используется, чтобы прочитать данные из открытого обработчика BLOB в буфер. N байт данных копируются в буфер Z из открытого BLOB, начиная со смещения iOffset.
Если iOffset меньше N байт от конца BLOB, возвращена ошибка SQLITE_ERROR и никакие данные не прочитаны. Если N или iOffset меньше, чем ноль, возвращена ошибка SQLITE_ERROR и никакие данные не прочитаны. Размер blob (и следовательно максимальное значение N+iOffset) может быть определен, используя интерфейс sqlite3_blob_bytes().
Попытка читать от обработчика BLOB с истекшим сроком терпит неудачу с кодом ошибки SQLITE_ABORT.
При успехе sqlite3_blob_read() вернет SQLITE_OK. Иначе код ошибки или расширенный код ошибки.
Это работает только с обработчиками BLOB, который был создан предшествующим успешным вызовом sqlite3_blob_open() и не закрыт sqlite3_blob_close(). Передача любого другого указателя приводит к неопределенному и вероятно нежелательному поведению.
См. также: sqlite3_blob_write().