使用ADO中 Connection 的Execute 方法执行SQL 语句的 Update....

解决方案 »

  1.   

    楼上的,这个功能是能够通过其他方法实现,但是我想知道为什么update不行,到底错在那里?谢了!!
      

  2.   

    Conn.Execute "Update TabName Set Field=... where..."
      

  3.   

    '打开公式表记录集
        Set rstFormula = New ADODB.Recordset
        rstFormula.CursorType = adOpenKeyset
        rstFormula.LockType = adLockOptimistic
        rstFormula.Open "公式表", adCn, , , adCmdTable
        iVerifyResult = VerifyFormula()
        
        If iVerifyResult = 1 Then
            rstFormula.Fields("所在表") = mstrTableName     '自动将表名添加到公式表中
            rstFormula.Update      '公式合法,保存所作的修改,这里出错
        ElseIf iVerifyResult = -1 Then
            MsgBox "公式不正确,修改正确后才能保存!", vbExclamation
            Exit Sub
        Else                        '无法识别公式的正确性
            Exit Sub
        End If
      

  4.   

    同志们,你们碰到这种怪事吗?
    用addnew方法后update就不行了,如果不用addnew直接用update是能够保存的。
    救我!我做了这么多年的程序员,头一回碰到这种怪事!
      

  5.   

    ADO本身就有BUG
       建议你尽量采用  sql
      

  6.   

    加一行试试:
    rstFormula.CursorLocation = adUseClient
      

  7.   

    还是不行,ado是不是用visual c++做的?
      

  8.   

    用addnew方法后update就不行了,如果不用addnew直接用update是能够保存的。
    cancelupdate知道吗?
      

  9.   

    添加记录时才先用AddNew再用Update,如果是更新记录,赋值之后直接调用Update方法
      

  10.   

    我也遇到过这样的问题,要看你采用的是什么样的数据库系统,有些时候addnew之后要添加延迟(是不是很夸张,但我添加延迟之后就是能用了)
      

  11.   

    把你的adCn.open "...." 贴出来,让我们瞧瞧
      

  12.   

    记录集最好用sql语句
    还有是不是你的表结构有问题
    我以前也碰到过这类问题好像是数据库中表的索引问题