描述
此函数返回自数据库连接打开以来由INSERT,UPDATE或DELETE语句引起的行更改数。
C / C ++语法
int sqlite3_total_changes(sqlite3*); |
PB语法
FUNCTION sqlite3_total_changes ( _ BYVAL hDbc AS DWORD _ ) AS LONG |
参数
pDb
[in]数据库连接句柄。必须是从sqlite3_open,sqlite3_open16或sqlite3_open_v2获取的NULL指针或sqlite3对象指针,而不是先前关闭。使用NULL指针参数调用sqlite3_close是无害的操作。
返回值
更改次数。
备注
sqlite3_total_changes返回的计数包括所有触发上下文的所有更改以及外键操作所做的更改。但是,计数不包括用于实现REPLACE约束,执行回滚或ABORT处理或DROP TABLE处理的更改。计数不包括触发INSTEAD OF触发器的视图行,但如果INSTEAD OF触发器自动更改,则会对这些更改进行计数。只要语句完成({语句句柄传递给sqlite3_reset或sqlite3_finalize)),sqlite3_total_changes函数便会对更改进行计数。
另请参见sqlite3_changes接口,count_changes编译指示和TOTAL_CHANGESSQL函数。
如果单独的线程在sqlite3_total_changes运行时在同一数据库连接上进行更改,则返回的值是不可预测的,无意义。
C ++实现代码
/*
** Return the number of changes since the database handle was opened.
*/
SQLITE_API int sqlite3_total_changes(sqlite3 *db){
return db->nTotalChange;
}