- 相关推荐
VFP事务处理的控制命令及其应用
VFP事务处理的控制命令及其应用
2.1 控制事务处理的命令
VFP提供了以下处理事务的命令和函数:
. BEGIN TRANSACTION
初始化一个事务,表示一个事务的开始,
VFP事务处理的控制命令及其应用
。. ROLLBACK
取消最近BEGIN TRANSACTION语句以来对表的全部修改。
. END TRANSACTION
锁定记录,确认最近BEGIN TRANSACTION语句以来对表的全部修改。
. TXTLEVEL()
确定当前事务处理的等级,最大值为5,表示事务最多嵌套五层,TXTLEVEL()为0表示当前无事务处理。
2.2 更新远程表时控制事务处理的命令
a) SQLSETPROP() 格式如下:
SQLSETPROP(连接句柄,设置类型[, 设置值])
设置类型为Transactions且设置值DB—TRANSMANUL(在 FOXPRO.H中定义)表示可以通过SQLCOMMIT()和SQLROLLBACK()人工处理事务。如果调用成功,SQLSETPROP() 返回1;否则,如果发生连接级错误则返回-1,发生环境级错误则返回-2。
b) SQLROLLBACK()
取消当前事务处理期间所做的任何更改。如果事务取消成功,SQLROLLBACK()返回1;否则,返回-1,
资料共享平台
《VFP事务处理的控制命令及其应用》(https://www.unjs.com)。如果 SQLROLLBACK() 返回-1,可以使用AERROR()确定该事务不能取消的原因。如果设置成人工处理方式,用 SQLROLLBACK()可以事务处理期间将对远程表的所有更新全部取消。c) SQLCOMMIT()提交一个事务
如果成功提交了事务,SQLCOMMIT()返回1;否则,返回-1。如果SQLCOMMIT()返回-1,可使用AERROR()函数确定该事务不能取消的原因。
2.3 VFP使用事务处理的原则
事务以BEGIN TRANSACTION开始,以END TRANSACTION 或ROLLBACK结束,必须成对使用;
除非应用程序终止,事务一旦开始,直到遇到END TRANSACTION或ROLLBAKC语句期间,将保持有效;
缓冲区中的数据比磁盘中的数据优先级高,即事务处理优先使用缓冲区中的数据;
如果在事务处理过程中应用程序终止,则取消事务对表的所有操作;
事务处理可以嵌套使用,最多嵌套五层。BEGIN TRANSACTION和END TRANSACTION(ROLLBACK)采用最近优先原则匹配。最内层的更新优先于嵌套事务处理中的其他更新;
直接或间接调用事务时,VFP自动加锁,直到END TRANSACTION(ROLLBACK)时自动解锁;
如果在事务处理期间使用了LOCK()命令, END TRANSACTION(ROLLBACK)时不自动解锁。
【VFP事务处理的控制命令及其应用】相关文章:
军训命令口号英文版10-13
高中生物《基因工程及其应用》教学反思07-14
控制不了体重,何以控制人生07-01
内控制度09-03
职场情绪控制法09-12
面试问题及其答案08-30
带手的成语及其解释09-19
职场励志故事及其启示08-11
学会控制你的情绪06-01