一,用ADO与mysql联接(前提已安装了mysql的odbc驱动)
联接成功,在命名用select,adodc1.recordset.movenext以及   adodc1.recordset.previous等命令时用都没有问题,但当使用adodc1.recordset.update  ,adodc1.recordset.delete等命令时,会报实时错误‘-214727900(80040e14)'
我用同样方法联接access数据库就没有这样的问题!二,用RDO联接MYSQL数据库
联接成功,使用msrdc1.resultset.movenext等命令时也没有问题,但当使用msrdc1.recordset.update  ,msrdc1.recordset.delete等命令时,会报实时错误'40058' "结果集只读”同样联接access数据库也没有这样的问题。MYSQL中用户的权限是没有问题的,用的是root,且在mysql中用sql命令操作正常请指教谢谢!!得到结果就结贴给分!!

解决方案 »

  1.   

    你将ADO记录集对象的的游标位置设为客户端游标。
    还有打开记录集的类型要设为动态游标。
    打开记录集的锁定类型用开放式批更新。rs.CursorLocation=adUseclient'使用客户端游标
    rs.CursorType=AdOpenDynamic
    rs.LockType=adLockBatchOptimistic你的数据库文件的属性是什么,如果是只读的话请将只读去掉。
      

  2.   

    msrdc1.recordset.update  ,msrdc1.recordset.delete在VB+MySQL中不是能用的,用Execute吧。
      

  3.   

    to huangjianyou(小健) 可以介绍一下execute吗?谢谢!
      

  4.   

    to  chenyu5188(来自东方的狼)
    谢谢你的指导,第一个问题中,ado现在不出错了,但同时也有一个问题,就是用adodc1.recordset.delete后,如果程序不关的话,显示数据是被删除了,但实际在mysql中根本没有删除,程序关闭后再打开,被删除的数据还在?同样addnew也是同样的问题,添加了新的数据,一关程序就没了,我估计我一定少了一个更新mysql数据库的命令,请指教,谢谢!!