建议使用ClientDataSet,因为Borland不推荐使用sqlclientdataset如果applyupdate(0)出错,错误不在控件本身,我想是因为你的数据有问题,
例如主键重复,不为空字段没有赋值等

解决方案 »

  1.   

    SQLDataSet是只读的,要修改数据应该用SQLClientDataSet。ReadOnly属性设置为False,CommandType设置为ctQuery。
    其实我还没用dbExpress做过东西,只是看了一些书,不知能不能解决你的问题
      

  2.   

    dancemaple(枫之舞):
      你好!
      非常感谢你对我的问题的关注!
      你说的设置我都说了,可是还是出错,不知道这是怎么一会事。唉,在
    windows下可以很方便地搞定的问题,在linux下变得这么不爽!
    希望我们能不断地进行交流!谢谢!
      

  3.   

    我也遇到了跟你一样的问题,我用的是:delphi6+win2000+oracle,用dbexpress连接oracle数据库的表,用了两个dbexpress组件:sqlconnection和
    sqlclientdataset,问题就是不能update数据库,我用了applyupdate(0)方法,
    可是出错,出错的提示是:ORA-00942:表或视图不存在,我现在也正在想这个问题,若你有了好的解决方法请send email to me:[email protected],thank you!!
      

  4.   

    要用DBexpress面板上的控件进行编辑,你还需要一个datasetprovider和一个clientdata,datasetprovider的dataset属性和DBexpress控件相连,clientdata的provider属性和datasetprovider相连,一切的编辑操作在clientdataset上进行,要提交数据的话用clientdata.applyupdate(0)。
    我记得好像是这样,以前试验过。