小巧。快速。可靠。
三选二。

SQLite C接口

将BLOB句柄移动到新行

int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);

此函数用于移动现有的BLOB句柄,使其指向同一数据库表中的不同行。新行由作为第二个参数传递的rowid值标识。只有行可以更改。BLOB句柄打开的数据库、表和列保持不变。将现有的BLOB句柄移动到新行比关闭现有句柄并打开新句柄更快。

新行必须满足与sqlite3_blob_open()相同的条件 - 它必须存在,并且在指定的列中必须存储blob或文本值。如果新行不存在于表中,或者如果它不包含blob或文本值,或者如果发生其他错误,则会返回SQLite错误代码,并且BLOB句柄被视为已中止。随后对已中止BLOB句柄的所有sqlite3_blob_read()sqlite3_blob_write()sqlite3_blob_reopen()调用都会立即返回SQLITE_ABORT。对已中止BLOB句柄调用sqlite3_blob_bytes()始终返回零。

此函数设置数据库句柄错误代码和消息。

另请参见对象常量函数列表。