# sqlite.backup 库模块帮助文档

## sqlite 成员列表 <a id="sqlite" href="#sqlite">&#x23;</a>

### sqlite.backup <a id="sqlite.backup" href="#sqlite.backup">&#x23;</a>
SQLite 数据库备份工具。  
因为 sqlite 扩展库可以有不同版本的替换实现,  
所以在导入 sqlite.backup 以前必须先导入 sqlite 扩展库,

### sqlite.backup() <a id="sqlite.backup" href="#sqlite.backup">&#x23;</a>
[返回对象:sqlitBackupObject](#sqlitBackupObject)

### sqlite.backup(src,dst,srcName,dstName) <a id="sqlite.backup" href="#sqlite.backup">&#x23;</a>
创建 SQLite 数据库备份工具。  
- 参数 @src 指定源数据库,可以是一个 SQLite 数据库对象,也可以指定要打开的数据库路径  
- 参数 @dst 指定输出数据库,可以是一个 SQLite 数据库对象,也可以指定要打开的数据库路径  
- 参数 @srcName 为源数据库名，参数 @dstName 为目的数据库名  
数据库名字一般不用指定,默认为"main",也就是主数据库

## sqlitBackupObject 成员列表 <a id="sqlitBackupObject" href="#sqlitBackupObject">&#x23;</a>

### sqlitBackupObject.count() <a id="sqlitBackupObject.count" href="#sqlitBackupObject.count">&#x23;</a>
需要备份的总页数

### sqlitBackupObject.eachStep(1) <a id="sqlitBackupObject.eachStep" href="#sqlitBackupObject.eachStep">&#x23;</a>

```aardio
for remaining,count in sqlitBackupObject.eachStep(1) {
	/*用于for in语句中执行备份操作的迭代器  
参数指定每次迭代备份的页数,不指定时默认为1  
迭代变量remaining为剩余的页数,count为总页数  
备份完成退出循环并调用finish函数释放资源  
其他数据库错误会抛出异常*/
}
```

### sqlitBackupObject.finish() <a id="sqlitBackupObject.finish" href="#sqlitBackupObject.finish">&#x23;</a>
释放备份对象

### sqlitBackupObject.remaining() <a id="sqlitBackupObject.remaining" href="#sqlitBackupObject.remaining">&#x23;</a>
当前剩余的页数

### sqlitBackupObject.step() <a id="sqlitBackupObject.step" href="#sqlitBackupObject.step">&#x23;</a>
执行 SQLite 数据库备份操作  
可选在参数中指定页数,  
指定为负数或者不指定则默认备份所有数据  
返回成功返回0,备份完成返回101,也就是sqlite.DONE  
其他数据库错误会抛出异常  
在备份完成后自动调用finish函数释放资源
