数据库会滚问题,急,在线等

underone 2006-01-18 11:35:18
For TableNum = 1 To 8
If stra = 0 Then
插入回滚
End If
If strb = 0 Then
插入回滚
End If
If strc = 0 Then
插入回滚
End If
If strd = 0 Then
插入回滚
End If
If stre = 0 Then
插入回滚
End If
strSql = "INSERT INTO "&TableNum&""
Next

第一次遇到这个问题,想不出办法了,望大仙们多多指点
小弟在此先谢谢了
...全文
65 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2006-01-18
  • 打赏
  • 举报
回复


Public Sub test()
On Error GoTo Err_Handle

Dim Cnn As New ADODB.Connection
Set Cnn = CurrentProject.Connection

Cnn.BeginTrans '开始事务

For TableNum = 1 To 8
If stra = 0 Then
'插入回滚
Cnn.RollbackTrans
Exit Sub
End If
If strb = 0 Then
'插入回滚
Cnn.RollbackTrans
Exit Sub
End If
If strc = 0 Then
'插入回滚
Cnn.RollbackTrans
Exit Sub
End If
If strd = 0 Then
'插入回滚
Cnn.RollbackTrans
Exit Sub
End If
If stre = 0 Then
'插入回滚
Cnn.RollbackTrans
Exit Sub
End If

strSql = "INSERT INTO " & TableNum & ""
Next

Cnn.CommitTrans

Exit Sub

Err_Handle:
'确保中间代码出错,回滚事务
Set Cnn = Nothing
MsgBox Err.Description
End Sub
OracleRoob 2006-01-18
  • 打赏
  • 举报
回复
'用的是VB代码吧

Public Sub test()
On Error GoTo Err_Handle

Dim Cnn As New ADODB.Connection
Set Cnn = CurrentProject.Connection

Cnn.BeginTrans '开始事务

For TableNum = 1 To 8
If stra = 0 Then
'插入回滚
Cnn.RollbackTrans
End If
If strb = 0 Then
'插入回滚
Cnn.RollbackTrans
End If
If strc = 0 Then
'插入回滚
Cnn.RollbackTrans
End If
If strd = 0 Then
'插入回滚
Cnn.RollbackTrans
End If
If stre = 0 Then
'插入回滚
Cnn.RollbackTrans
End If

strSql = "INSERT INTO " & TableNum & ""
Next

Cnn.CommitTrans

Exit Sub

Err_Handle:
'确保中间代码出错,回滚事务
Set Cnn = Nothing
MsgBox Err.Description
End Sub
underone 2006-01-18
  • 打赏
  • 举报
回复
还是不明白,能不能给点例子啊
OracleRoob 2006-01-18
  • 打赏
  • 举报
回复
联机帮助索引中输入:SET XACT_ABORT

指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server™ 是否自动回滚当前事务。

语法
SET XACT_ABORT { ON | OFF }

注释
当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
zlp321002 2006-01-18
  • 打赏
  • 举报
回复
--参考下:


SET XACT_ABORT 为 ON -- Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。

BEGIN TRAN

INSERT INTO t2 VALUES (1)
INSERT INTO t2 VALUES (2) /* Foreign key error */
INSERT INTO t2 VALUES (3)

COMMIT TRAN



SET XACT_ABORT 为 OFF -- 只回滚产生错误的 Transact-SQL 语句

BEGIN TRAN

INSERT INTO t2 VALUES (1)
INSERT INTO t2 VALUES (2) /* Foreign key error */
INSERT INTO t2 VALUES (3)

COMMIT TRAN
underone 2006-01-18
  • 打赏
  • 举报
回复
谢谢高人了

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧