是begintrans启动事务!
adUseClient记录集在客户端
另一个当然是服务器端

解决方案 »

  1.   

    40Star(陪你去看--☆流星雨★) 这种解释我也知道,到底它们影响什么?
    客户端游标是什么,服务器端是什么?指的是什么?
      

  2.   

    如果有100条纪录,adUseClient就会从服务器放到你的计算机的内存里,在你的本地进行操作,怎删改,带提交后,把所有纪录返回服务器!你可以看看PB的有关内容,介绍很详细!(关于游标、数据窗口-和ADO差不多的东东)
      

  3.   

    CommitTrans、RollBackTrans都是相对于
    数据库而言的,如果数据库支持事务,在connection对象上用这些方法,你就能回滚如果选择了adUseClient,本地会维护一个游标,recordset的movenext,movefirst的方法,实际是在本地执行
    adUseServer则在服务器端
      

  4.   

    1、(1)begintrans是开启一个事务,在此语句之后写入事务处理代码
        (2)CommitTranse是提交一个事务,从此事务处理中的语句开始生效,执行
          (3)RollBackTranse是回滚事务,恢复处理前的状态一个事务处理完之后不会自动开启一个事务,需要代码控制
      

  5.   

    您说的提交是怎样的?在客户机上执行UPDATE?MOVE 0?
    ADO在什么时候把我所做的修改放回SERVER
      

  6.   

    如果启动了事务CommitTranse后返回没有事务,默认update,insert....后返回
      

  7.   

    上一页是TO 40Star(陪你去看--☆流星雨★)
      

  8.   

    TO:40Star(陪你去看--☆流星雨★)
    如果启动了事务CommitTranse后返回没有事务,默认update,insert....后返回 
    这个说法可靠吗?:-)
      

  9.   

    那就是说,如果我使用adUseClient那么使用“事务”就没有用了?
      

  10.   

    怎么能没用呢?
    比如你删错了纪录,你就可以用RollBackTranse返回你上一次提交时的状态
    这就是事务的好处!!!
      

  11.   

    :) 我刚才的意思是如果我用了:CONNECTION.CURSORLOCATION=adUserClient那么就不可以
    再使用事务了?
      

  12.   

    类似的问题,
    请各位大侠帮忙看一下:(150分)
    http://www.csdn.net/Expert/topic/504/504035.shtm
      

  13.   

    BeginTrans、CommitTrans 和 RollbackTrans 方法范例
    该范例更改数据库的 Titles 表中所有心理学书籍的书籍类型。在 BeginTrans 方法启动事务将所有对 Titles 表的更改隔离后,CommitTrans 方法将保存更改。可使用 Rollback 方法撤销用 Update 方法保存的更改。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   ' 打开连接。
          strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       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.Update
             End If
          End If         rstTitles.MoveNext
       Loop   ' 询问用户是否想提交以上所做的全部更改。
       If MsgBox("Save all changes?", vbYesNo) = vbYes Then
          cnn1.CommitTrans
       Else
          cnn1.RollbackTrans
       End If   ' 打印记录集中的当前数据。
       rstTitles.Requery
       rstTitles.MoveFirst
       Do While Not rstTitles.EOF
          Debug.Print rstTitles!Title & " - " & rstTitles!Type
          rstTitles.MoveNext
       Loop   ' 恢复原始数据,因为这只是演示。
       rstTitles.MoveFirst
       Do Until rstTitles.EOF
          If Trim(rstTitles!Type) = "self_help" Then
             rstTitles!Type = "psychology"
             rstTitles.Update
          End If
          rstTitles.MoveNext
       Loop   rstTitles.Close
       cnn1.CloseEnd Sub
      

  14.   

    使用adUseServer和adUseClient用什么优缺点:)?