sqlite.h


Mover un manipulador BLOB a una nueva fila

int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);

Esta función se usa para mover un manipulador de blob existente de modo que apunte a una fila diferente de la misma tabla de la base de datos. La nueva fila se identifica mediante el valor rowid pasado como segundo argumento. Sólo se puede cambiar la fila. La base de datos, tabla y columna en la que el manipulador de blob es abierto siguen siendo las mismas. Mover un manipulador blob existente puede ser más rápido que cerrar un manipulador existente y abrir uno nuevo.

La nueva fila debe cumplir los mismos criterios que para sqlite3_blob_open() - que debe existir y debe ser un valor blob o texto almacenado en la columna nombrada. Si la nueva fila no está presente en la tabla, o si no contiene un valor blob o texto, o si se produce otro error, se devuelve un código de error y el manipulador de blob se considera abortado. Todas las llamadas subsiguientes a sqlite3_blob_read(), sqlite3_blob_write() o sqlite3_blob_reopen() en el manipulador blob abortado retornan inmediatamente con SQLITE_ABORT. Las llamadas a sqlite3_blob_bytes() con un manipulador blob abortado siempre retornan con cero.

Esta función asigna el código y mensaje de error del manipulador de base de datos.