sqlite.h


Lectura de datos incremental desde un BLOB

int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);

Esta función se usa para leer datos desde un manipulador de BLOB abierto dentro de un buffer suministrado en la llamada. Se copian N bytes de datos en el buffer Z desde el BLOB abierto, empezando en el desplazamiento iOffset.

Si el desplazamiento iOffset es menor que que N bytes desde el final del BLOB, se devuelve SQLITE_ERROR y no se leen datos. Si N o iOffset son menores que cero, se devuelve SQLITE_ERROR y no se leen datos. El tamaño del blob (y por lo tanto el máximo valor de N+iOffset) puede ser determinado usando la función sqlite3_blob_bytes().

Un intento de leer desde un manipulador BLOB muerto fallará con un código de error SQLITE_ABORT.

Si tiene éxito, sqlite3_blob_read() devuelve SQLITE_OK. En caso contrario, se devuelve un código de error o un código de error extendido.

Esta función sólo funciona con un manipulador de BLOB que haya seido creado previamente por una llamada exitosa a sqlite3_blob_open() y que no haya sido cerrada mediante sqlite3_blob_close(). Pasar cualquier otro puntero a esta función producirá un comportamiento indefinido y probablemente indeseado.

Ver también: sqlite3_blob_write().