S Q L C O M M IT() 函 数

S Q L C O M M IT() 函 数 - 图1提交一个事务

语 法

SQLCOMMIT( nConnectionHandle )

返 值 类 型数 值 型参 数 描 述

nConnectionHandle

S Q L C O M M IT() 函 数 - 图2S Q L C O M M IT() 函 数 - 图3SQLCONNECT ( ) 函 数 返 回 的 指 向 数 据 源 的 连 接 句 柄

说 明

S Q L C O M M IT() 函 数 - 图4S Q L C O M M IT() 函 数 - 图5可使用 SQLCOMMIT ( ) 提交一个事务 如果成功提交了事务 SQLCOMMIT( ) 返回

S Q L C O M M IT() 函 数 - 图6S Q L C O M M IT() 函 数 - 图7S Q L C O M M IT() 函 数 - 图8S Q L C O M M IT() 函 数 - 图9S Q L C O M M IT() 函 数 - 图101 否则 返回 -1 如果 SQLCOMMIT( ) 返回 -1 可使用 AERROR( ) 函数确定该事务为什么不能提交

S Q L C O M M IT() 函 数 - 图11S Q L C O M M IT() 函 数 - 图12S Q L C O M M IT() 函 数 - 图13S Q L C O M M IT() 函 数 - 图14S Q L C O M M IT() 函 数 - 图15S Q L C O M M IT() 函 数 - 图16S Q L C O M M IT() 函 数 - 图17如果人工事务有效 用 SQLSETPROP ( ) 将 Transactions 属性设置成 人工 就可以将多个更新送入远程表 并由 SQLCOMMIT( ) 提交所有的更新

S Q L C O M M IT() 函 数 - 图18更新可以由 SQLROLLBACK ( ) 函数回滚

示 例

S Q L C O M M IT() 函 数 - 图19S Q L C O M M IT() 函 数 - 图20S Q L C O M M IT() 函 数 - 图21S Q L C O M M IT() 函 数 - 图22S Q L C O M M IT() 函 数 - 图23S Q L C O M M IT() 函 数 - 图24下面的示例假定已经成功发出了 SQLCONNEC T( ) 并且其返回值存入名为gnConnHandle 的变量中 示例中用 SQLSETPROP( ) 将 Transactions 属性设置成 2 人工 以允许使用 SQLCOMMIT( ) 和 SQLROLLBACK( )

S Q L C O M M IT() 函 数 - 图25S Q L C O M M IT() 函 数 - 图26authors 表由 SQLEXEC( ) 修改 对表的更新由 SQLCOMMIT( ) 提交

= SQLSETPROP(gnConnHandle, 'Transactions', 2) &&人工事务

= SQLEXEC(gnConnHandle, "INSERT INTO authors (au_id, au_lname); VALUES ('aupoe', 'Poe')") && 修改 authors 表

= SQLCOMMIT(gnConnHandle) && 提交更改

请 参 阅

AERROR ( ) , BEGIN TRANSACTION , END TRANSACTION , SQLCONNECT( ) , SQLROLLBACK( ) , SQLSETPROP( )