这两句话各自代表什么意思,一句十分

hamier_hu 2004-04-06 06:07:32
Connp.RollbackTrans
Connp.CommitTrans
...全文
7 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaying 2004-04-06
RollbackTrans取消当前事务中所作的任何更改并结束事务,它也可能启动新事务。
CommitTrans保存任何更改并结束当前事务,它也可能启动新事务。
一旦调用了 BeginTrans 方法,在调用 CommitTrans 或 RollbackTrans 结束事务之前,提供者将不再立即提交所作的任何更改。
调用 CommitTrans 方法将保存连接上打开的事务中所做的更改并结束事务。调用 RollbackTrans 方法还原打开事务中所做的更改并结束事务。在未打开事务时调用其中任何一种方法都将引发错误。

回复
bananasmiling 2004-04-06
ADO数据访问编程模型里的Connection对象具有处理事务的方法,包括BeginTrans、CommintTrans和RollbackTrans方法。其中BeginTrans方法用于启动新的事务。可以作为函数调用,用于返回指示事务嵌套层次的长整型变量。CommintTrans方法方法保存所有更改并结束当前事务,它也可以启动新事务。RollbackTrans方法取消当前事务所做的任何更改并结束事务,一般叫法为回滚事务。

如果希望以独立单元保存或取消对数据源所做的一系列更改,可以使用这些方法,即要么全部更新,要么一个也不更新。这就保证了数据处理的完整性,与SQL SERVER的事务回旋功能是相对应的。

以下是一个简单代码片断,没有使用嵌套事务处理

Dim conn As ADODB.Connection

conn.CursorLocation = adUseClient

conn.CommandTimeout = 30

conn.ConnectionString = "driver={SQL " & _

"Server};server=servername;uid=username;pwd=pwd;database=databasename"

'打开数据库连接

conn.Open

'开始事务处理,然后异步执行命令

conn.BeginTrans

conn.Execute "UPDATE GOODS SET F_GoodsName = '复方氨酚脘氨胶囊' WHERE F_GoodsName " & _

"LIKE '%盖克%'", , adAsynExecute

'做其他的事情,比如你可以处理其他的数据和播放音乐等

......

'如果事务完成,则提交事务,否则取消事务

If CBool(conn.State And adStateExecuting) Then

conn.Cancel '取消执行命令

conn.RollbackTrans '回滚事务以便执行其他事务

Else

conn.CommitTrans '提交事务以便执行其他事务

End If

conn.Close

注意:一旦调用了BeginTrans方法,在调用CommitTrans提交事务或RollbackTrans回滚事务之前,提供者将不再立即提交所做的任何更改。
回复
luluso 2004-04-06
事务回滚.
事务提交.
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告