描述
如果给定的数据库连接分别为或不在自动提交模式,则返回非零或零。默认情况下,Autocommit模式处于开启状态。自动提交模式由BEGIN语句禁用。自动提交模式由COMMIT或ROLLBACK重新启用。
C / C ++语法
int sqlite3_get_autocommit(sqlite3*); |
PB语法
FUNCTION sqlite3_get_autocommit ( _ BYVAL hDbc AS DWORD _ ) AS LONG |
参数
pDb
[in]数据库连接句柄。必须是从sqlite3_open,sqlite3_open16或sqlite3_open_v2获取的NULL指针或sqlite3对象指针,而不是先前关闭。使用NULL指针参数调用sqlite3_close是无害的操作。
返回值
如果给定的数据库连接分别为或不在自动提交模式,则返回非零或零。
备注
如果多语句事务中的语句发生某些类型的错误(包括SQLITE_FULL,SQLITE_IOERR,SQLITE_NOMEM,SQLITE_BUSY和SQLITE_INTERRUPT的错误),那么事务可能会自动回滚。查看SQLite是否自动回滚错误后的事务的唯一方法是使用此函数。
如果另一个线程在此函数运行时更改数据库连接的自动提交状态,则返回值未定义。
C ++实现代码
/*
** Test to see whether or not the database connection is in autocommit
** mode. Return TRUE if it is and FALSE if not. Autocommit mode is on
** by default. Autocommit is disabled by a BEGIN statement and reenabled
** by the next COMMIT or ROLLBACK.
**
******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ******
*/
SQLITE_API int sqlite3_get_autocommit(sqlite3 *db){
return db->autoCommit;
}