勇芳软件工作室.汉化:  SQLite3 API Functions > Database Connection >

sqlite3_get_autocommit

Previous pageReturn to chapter overviewNext page

描述

 

如果给定的数据库连接分别为或不在自动提交模式,则返回非零或零。默认情况下,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_opensqlite3_open16sqlite3_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;

}