SQLROLLBACK() 函 数
取消当前事务处理期间所做的任何更改
语 法
SQLROLLBACK (nConnectionHandle )
返 值 类 型
数值型
参 数 描 述
nConnectionHandle

由
SQLCONNECT ( ) 返 回 的 指 向 数 据 源 的 连 接 句 柄
说 明



如果事务回滚成功
SQLROLLBACK ( ) 返回 1 否则 返回 -1 如果

SQLROLLBACK(
) 返回 -1 可以使用 AERROR( ) 确定该事务不能回滚的原因






如果人工事务处理有效
SQLSETPRO P( ) 的 Transaction 属性设置为 人工
就可以将多个更新发送到远程表中 这些更新可以用 SQLROLLBACK( ) 全部回滚
可以用
SQLCOMMIT ( ) 提交更新
示 例



下面的示例假定已经成功发出
SQLCONNEC T( ) 并且其返回值存入一个名为gnConnHandle 的变量 SQLSETPROP(
) 将 Transaction 属性设置成 2 ( 人工 ) 以允许使 用 SQLCOMMIT( ) 和
SQLROLLBACK( )

示例中用
SQLEXEC ( ) 修改了表 authors 并用 SQLROLLBACK( ) 取消对该表的更改
= SQLSETPROP(gnConnHandle, 'Transactions', 2) && 人工
= SQLEXEC(gnConnHandle, "INSERT INTO authors (au_id, au_lname); VALUES ('aupoe', 'Poe')")
= SQLROLLBACK(gnConnHandle)
请 参 阅
AERROR ( ), SQLCOMMIT( ), SQLCONNECT( ), SQLSETPROP( )
