我用批量更新模式设置了数据集,并用SQL SERVER中的表填充了数据集。我在界面编辑了数据,在退出时,我想知道当前记录有没有做过修改,用了ADODATASET.RECORDSTATUS查看,但是我编辑或不编辑,记录状态都是[rsUnmodified] ,但是如果append 或删除,就会有变化,不知道我那里设置的不对?
我只想知道当前记录有没有做过修改.

解决方案 »

  1.   

    ADODataSet1.State in [DsEdit,DsInsert]
    这样行不行啊?
      

  2.   

    使用数据集的Modified属性,如果为true 则当前数据集已经被修改if ADODataset1.DataSet.Modified then 
      //数据集已经被修改
    else
      //数据集未被修改
      

  3.   

    if ADODataSet1.State in [DsEdit] then
       if MessageDlg('是否保存修改的数据?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
         ....
      

  4.   

    回复人: naner_china(naner) ( ) 信誉:100  2005-05-27 17:07:00  得分: 0     if ADODataSet1.State in [DsEdit] then
       if MessageDlg('是否保存修改的数据?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
         ....你这种方法不行的,如果我手动增加 ADODataSet1.Edit ,你上面的条件肯定成立,但我没有修改任何记录数据啊