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()总是返回零。

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

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