描述
启用或禁用SQLite的扩展结果代码功能。默认情况下,扩展结果代码将被禁用以用于历史兼容性。
C / C ++语法
int sqlite3_extended_result_codes(sqlite3*, int onoff); |
PB语法
FUNCTION sqlite3_extended_result_codes ( _ BYVAL hDbc AS DWORD, _ BYVAL onoff AS LONG _ ) AS LONG |
参数
pDb
[in]数据库连接句柄。必须是从sqlite3_opensqlite3_open16或sqlite3_open_v2获取的NULL指针或sqlite3对象指针。
onoff
[in]TRUE或FALSE。
返回值
SQLITE_OK
备注
当使用串行线程模式时,可能是在第一个错误的时间和对这些函数的调用之间的另一个线程上发生第二个错误。发生这种情况时,会报告第二个错误,因为这些功能总是报告最近的结果。为了避免这种情况,每个线程可以在开始使用D之前调用sqlite3_mutex_enter(sqlite3_db_mutex(D))并在所有调用这些函数之后调用sqlite3_mutex_leave(sqlite3_db_mutex(D))来获得数据库连接D的独占使用已经完成
如果一个函数与SQLITE_MISUSE失败,那意味着应用程序调用的函数不正确。在这种情况下,错误代码和消息可能被设置或可能不被设置。
C ++实现代码
/*
** Enable or disable the extended result codes.
*/
SQLITE_API int sqlite3_extended_result_codes(sqlite3 *db, int onoff){
sqlite3_mutex_enter(db->mutex);
db->errMask = onoff ? 0xffffffff : 0xff;
sqlite3_mutex_leave(db->mutex);
return SQLITE_OK;
}