我在一个函数中已经调用了TADODataSet1.edit,在调用该函数之后的某处,当想修改TADODataSet1的数据时出现异常,说TADODataSet1没有出于edit状态下,但我其它的TADODataSet2、TADODataSet3却一切正常,不知道TADODataSet1什么时候退出了edit状态了,此时与TADODataSet1相连的所有数据感知组件TDBEdit、TDBCombox等都显示成了空(在那个异常发生之前我已经对TADODataSet1的各字段赋值了),而其它的TADODataSet2、TADODataSet3都很正常
TADODataSet1、TADODataSet2、TADODataSet3都是类似,先调用了TADODataSet1.edit,然后对TADODataSet1各字段赋值,接着对TADODataSet2、TADODataSet3进行同样的操作,如果一个数据集的edit会让另一个数据退出edit状态,那么TADODataSet2也应该退出了,但实际上并没有,很郁闷

解决方案 »

  1.   

    Post,cancel 之后使Edti变为dsBrows
      

  2.   

    可这两个过程,我没有在程序的任何地方调用啊
    UpdateBatch过程也只是在点击一个按钮之后才调用的,根本现在无关嘛
      

  3.   

    不好意思,耽误大家时间了,我已经将问题解决了,问题出在TADODataSet1的设置上,我重新添加了一个新的,问题解决!
      

  4.   

    TADODataSet1的记录被移动。
    open;close;fisrt;next;last;cancel等都会使TADODataSet1变为BROW状态。