使用ADO或DAO如何进行事务处理
1个回答
展开全部
这种常用在同时操作几个表的情况下使用,以免造成数据有关联的几个表的数据不相符。事务用一句话来概括就是:全有或全无;要么全部生效,要么全部不生效。-------------------------------------------------------------------------------------
Public Sub BeginTransX()Dim cnn1 As ADODB.Connection
Dim rstTitles As ADODB.Recordset
Dim strCnn As String
Dim strTitle As String
Dim strMessage As String' 打开连接。
Set strcnn=currentproject.connection
Set cnn1 = New ADODB.Connection
cnn1.Open strCnn' 打开 Titles 表。
Set rstTitles = New ADODB.Recordset
rstTitles.CursorType = adOpenDynamic
rstTitles.LockType = adLockPessimistic
rstTitles.Open "titles", cnn1, , , adCmdTable
rstTitles.MoveFirst'开始事务cnn1.BeginTrans' 在记录集中循环并询问是否想要更改指定标题的类型。
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "psychology" Then
strTitle = rstTitles!Title
strMessage = "Title: " & strTitle & vbCr & _
"Change type to self help?"' 更改指定雇员的标题。
If MsgBox(strMessage, vbYesNo) = vbYes Then
rstTitles!Type = "self_help"
rstTitles.UpdateEnd IfEnd IfrstTitles.MoveNext
Loop' 询问用户是否想提交以上所做的全部更改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询