本章节介绍rollback()函数的用法。
描述:
回滚数据库。
语法:
db.rollback(spn)
备注:
回滚数据库到指定回滚点,无参数时回滚全部更新点。
参数:
db |
数据库连接 |
spn |
回滚点名字 |
示例:
|
A |
B |
|
1 |
=file("D://files//student.txt") |
|
|
2 |
=A1.import@t() |
|
|
3 |
=connect@e("demo") |
建立连接,自行管理提交和回滚 |
|
4 |
>A3.execute@k(A2,"update STUDENTS2 set NAME=?,GENDER=?,AGE=? where ID=?",NAME,GENDER,AGE,ID) |
不提交事务 |
|
5 |
=A3.error() |
|
读取上一条sql执行的错误信息代码 |
6 |
if A5==0 |
>A3.commit() |
无错则提交 |
7 |
else |
>A3.rollback() |
有错则回滚 |
8 |
>A3.close() |
|
关闭连接 |
相关概念:
组表文件更新时出错可恢复。
语法:
f.rollback() |
|
备注:
组表文件中的实表在增、删、改操作时,若出现错误,可以通过此函数恢复到执行错误操作之前的状态。
注意:组表文件更新操作出错后,使用f.open()打开文件时会有文件出错提示,需要rollback回滚。组表的回滚操作与常规数据库不同,无自动回滚机制,需要调用该f.rollback()函数手动回滚。
参数:
f |
组表文件或文件组 |
返回值:
Boolean
示例:
|
A |
|
1 |
=file("D:/ckv.ctx") |
文件ckv.ctx在执行T.update(P)时出错,因此使用f.open()时报错"ckv.ctx:文件出错,需要调用 f.rollback()恢复。" |
2 |
=A1.rollback() |
将ckv.ctx恢复到update之前的组表状态 |